首页 > 代码库 > hibernate学习手记(2)

hibernate学习手记(2)

1.javax.persistence.TransactionRequiredException: no transaction is in progress

出现该问题是我没有开启事务,我是在会员保存之前调用了doWork方法去设置setAutoCommit为true.

解决办法:如果是用到了spring只需要加上@Transactional就可以了,如果使用原始的方式需要调用会话的beginTransaction()方法

 

2.org.hibernate.HibernateException: No CurrentSessionContext configured!

出现该问题是我没有再cfg.xml中配置会员的context.在cfg.xml加入 <property name="hibernate.current_session_context_class">thread</property>就没问题。

hibernate.current_session_context_class 有两个对应的值 

一个是thread 表示本地事务,一个是jta表示全局事务

关于本地事务和全局事务的概念,大家可以百度或者看下这个文章 http://blog.csdn.net/sunitjy/article/details/6585301

 

hibernate学习手记(2)