我正在用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()

但是我不想每次使用诸如isConnectedgetfindsave等会话方法时,都会开始写笔交易。


除了上述例外,还有哪些其他可能的解决方案?
如果将@Transactional放在dao类方法上怎么办?


问候,

阿伦·库玛(Arun Kumar)

最佳答案

isConnected很少使用,对于普通的DAO方法则不需要。如果需要,“获取/查找/保存”将在后台打开“连接和事务”,您无需手动进行任何操作。

09-10 02:08