我正在用Spring 3.1研究Hibernate4的示例。
在我的示例中,当我在控制台上打印sessionFactory.getCurrentSession().isOpen()
时,它会打印
真正
但是我面临一个例外
sessionFactory.getCurrentSession().isConnected()
例外是:
org.hibernate.HibernateException: isConnected is not valid without active transaction
编辑:我用谷歌搜索更多,发现以下解决方案
sessionFactory.getCurrentSession().beginTransaction();sessionFactory.getCurrentSession().isConnected()
但是我不想每次使用诸如
isConnected
,get
,find
,save
等会话方法时,都会开始写笔交易。除了上述例外,还有哪些其他可能的解决方案?
如果将
@Transactional
放在dao类方法上怎么办?问候,
阿伦·库玛(Arun Kumar)
最佳答案
isConnected很少使用,对于普通的DAO方法则不需要。如果需要,“获取/查找/保存”将在后台打开“连接和事务”,您无需手动进行任何操作。