NHibernate One Session Per Request简单实现
2009-12-03 22:11
471 查看
哈哈,先废话一下.
研究NHibernate应用算起来也有两个礼拜了, 自己也想总结一些自己的用法写在博客当中,但是一直都没有时间, 回家冷也就不想写了,想知道今天为啥开始写了么? 哈哈, 住在现在的地方已经快半年了, 房间一直缺把椅子,也没有时间去买(哈哈,一听就知道是借口), 今天跟同事聊天无意间提起, 说送我一把椅子,哈哈, 现在知道为啥开始写了么? 不知道的去面壁.
(切入正题)
只是打算写一些用法,具体的思路大家一起慢慢交流探讨吧,因为我也是刚学, 今天快下班的时候才测试成功, 先写出来,有问题大家在慢慢讨论.
期间主要参考了博客园NHibernate小组的两篇讨论:
1. http://home.cnblogs.com/group/topic/34139.html(这儿应该不算转载吧)
2. http://home.cnblogs.com/group/topic/34273.html
要实现One Session Per Request有以下几点需要注意:
1. 在hibernate.cfg.xml中加入一下property配置参数:
<property name='current_session_context_class'>web</property>
此句是制定session context的实现类, NHibernate中文文档中的说明是: “hibernate.current_session_context_class配置参数定义了应该采用哪个NHibernate.Context.ICurrentSessionContext 实现。一般而言,此参数的值指明了要使用的实现类的全名,但那三种内置的实现可以使用简写,即"managed_web", "call","thread_static", and "web", 引自 NHibernate中文文档 –> 2.3. 上下文相关的(Contextual)Session节”
2. 创建NHinbernateSessionFactory类, 我是在Dao层创建的, 这个不一定,看自己怎么认为.
Dao层调用代码
public static ISession Session { get { return NHinbernateSessionFactory.CurrentSession; } }
public IList<Domain.Entities.Customer> GetAllCustomer()
{
return Session.CreateCriteria<Domain.Entities.Customer>()
.List<Domain.Entities.Customer>();
}
至此结束, 接下来贴张测试结果的图:
研究NHibernate应用算起来也有两个礼拜了, 自己也想总结一些自己的用法写在博客当中,但是一直都没有时间, 回家冷也就不想写了,想知道今天为啥开始写了么? 哈哈, 住在现在的地方已经快半年了, 房间一直缺把椅子,也没有时间去买(哈哈,一听就知道是借口), 今天跟同事聊天无意间提起, 说送我一把椅子,哈哈, 现在知道为啥开始写了么? 不知道的去面壁.
(切入正题)
只是打算写一些用法,具体的思路大家一起慢慢交流探讨吧,因为我也是刚学, 今天快下班的时候才测试成功, 先写出来,有问题大家在慢慢讨论.
期间主要参考了博客园NHibernate小组的两篇讨论:
1. http://home.cnblogs.com/group/topic/34139.html(这儿应该不算转载吧)
2. http://home.cnblogs.com/group/topic/34273.html
要实现One Session Per Request有以下几点需要注意:
1. 在hibernate.cfg.xml中加入一下property配置参数:
<property name='current_session_context_class'>web</property>
此句是制定session context的实现类, NHibernate中文文档中的说明是: “hibernate.current_session_context_class配置参数定义了应该采用哪个NHibernate.Context.ICurrentSessionContext 实现。一般而言,此参数的值指明了要使用的实现类的全名,但那三种内置的实现可以使用简写,即"managed_web", "call","thread_static", and "web", 引自 NHibernate中文文档 –> 2.3. 上下文相关的(Contextual)Session节”
2. 创建NHinbernateSessionFactory类, 我是在Dao层创建的, 这个不一定,看自己怎么认为.
Dao层调用代码
public static ISession Session { get { return NHinbernateSessionFactory.CurrentSession; } }
public IList<Domain.Entities.Customer> GetAllCustomer()
{
return Session.CreateCriteria<Domain.Entities.Customer>()
.List<Domain.Entities.Customer>();
}
至此结束, 接下来贴张测试结果的图:
相关文章推荐
- 《NHibernate One Session Per Request 简单实现》勘误
- Nhibernate one Session per Request的实现
- NHibernate Session Management(One per request)
- request和session以及application辨析(并用application实现简单的网页计数器)
- Entity Framework在Asp.net MVC中的实现One Context Per Request(附源码)
- Entity Framework在Asp.net MVC中的实现One Context Per Request(附源码)
- 【IOS】利用ASIHTTPRequest 实现一个简单的登陆验证
- (3)在Action中用request、session、application和前端简单数据、对象数据传递到后端
- 分布式集群Session共享 简单多tomcat8+redis的session共享实现
- jsp实现简单的session 跟踪
- javaweb之Session实现简单的购物(URL重写。Cookie重写指定有效日期)和简单的验证结论
- NHibernate 如何对session管理,实现lazy=true
- 【IOS】利用ASIHTTPRequest 实现一个简单的登陆验证
- 关于NHibernate中存在于Session中实例的3种状态的简单分析
- .NET实现单个或几个Session过期时间设置简单方案
- Session+XML实现简单身份验证
- SpringMVC经典系列-11简单获取request、session对象---【LinusZhu】
- Session用法案例 -->实现简单购物车功能(实际项目可能不会这么使用)
- 分布式集群Session共享 简单多tomcat8+redis的session共享实现
- 用session实现简单的购物