春季-session.isOpen()vs session.isConnected()

我正在使用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方法则不需要.如果需要,“获取/查找/保存”将在后台打开“连接和事务”,您无需手动进行任何操作.

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...