session.isOpen()vs session.isConnected()

时间:2012-10-22 07:38:18

标签: spring hibernate

我正在使用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等会话方法进行操作时,我都不想以实际方式编写开始事务。

  1. 上述例外的其他可能解决方案是什么?
  2. 如果我将@Transactional放在我的dao类方法上怎么办?
  3. 此致

    Arun Kumar

1 个答案:

答案 0 :(得分:3)

很少使用

isConnected,对于普通的DAO方法,不需要它。如果需要,获取/查找/保存将在场景后打开连接和交易,您无需手动处理。