打开session的方法和org.hibernate.HibernateException: No CurrentSessionContext configured! 异常

代开session有两种方法:

1、openSession只要调用就打开一个新的session,用完后需手动关闭。

2、getCurrentSession用原来已经存在的,拿的是同一个session,如果没有就打开一个新的session,当事物提交后session自动关闭,在界定事物边界时用。


当要用getCurrentSession()时,需在配置文件hibernate.cfg.xml中加入如下代码,常用的有thread、jta:

1、用的最多的是thread,相当于在当前线程中找session。依赖于数据库本身,(如使用JDBC的独立应用程序),在hibernate.cfg.xml中session-factory段加入: 

<property name="current_session_context_class">thread</property>

2、jta(java transaction api)当前应用服务器能够提供分布式事物处理,事物由多个数据库连接,运行时需要分布式事物applicationserver(如Jboss)的支持,在hibernate.cfg.xml中session-factory段加入: 

<property name="current_session_context_class">jta</property> 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值