我正在使用Spring 3.1编写Hibernate4示例.
在我的示例中,当我在控制台上打印sessionFactory.getCurrentSession().isOpen()时,它会打印
true
但是我面临一个例外
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方法则不需要.如果需要,“获取/查找/保存”将在后台打开“连接和事务”,您无需手动进行任何操作.