3

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

  1. 上述异常的其他可能解决方案是什么?
  2. 如果我@Transactional放在我的 dao 类方法上怎么办?

问候,

阿伦·库马尔

4

1 回答 1

3

isConnected 很少使用,对于普通的 DAO 方法,它是不需要的。如果需要,Get/Find/Save 将在后台打开连接和事务,您无需手动处理任何事情。

于 2012-10-23T05:51:13.360 回答