spring - session.isOpen() 与 session.isConnected()

标签 spring hibernate

我正在使用 Spring 3.1 开发 Hibernate4 示例。

在我的示例中,当我打印 sessionFactory.getCurrentSession().isOpen() 时在控制台上打印

true

但是我遇到了异常

sessionFactory.getCurrentSession().isConnected()

异常(exception)是:

org.hibernate.HibernateException: isConnected is not valid without active transaction

编辑:我用谷歌搜索了更多内容并找到了以下解决方案

sessionFactory.getCurrentSession().beginTransaction(); sessionFactory.getCurrentSession().isConnected()

但我不想每次使用像 isConnected 这样的 session 方法进行操作时手动编写开始事务, get , find , save等等

  1. 针对上述异常,还有哪些其他可能的解决方案?
  2. 如果我放置 @Transactional 会怎么样?在我的 dao 类方法上?

问候,

阿伦·库马尔

最佳答案

isConnected 很少使用,对于普通的 DAO 方法来说也不需要它。如果需要的话,获取/查找/保存将在幕后打开连接和事务,您无需手动处理任何事情。

关于spring - session.isOpen() 与 session.isConnected(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13006908/

相关文章:

java - SpringSecurityFilterChain 和执行器

java - 集成测试中 JsonDeserializer 的 Spring Boot Autowiring

java - 在成员变量中使用时注入(inject)的 Bean 未实例化

java - hibernate 异常 "PropertyValueException: not-null property references a > null or transient value"。我被困住了,不知道该怎么办

java - 对 XML 配置文件使用 @ImportResource 的解决方法

java - Bcrypt 自定义密码配置

spring - 身份验证失败重定向,请求参数不起作用

java - 如何在处理 Sys refcursor 时解决 java.lang.ClassCastException?

java - Hibernate继承,父类应该根据决策者是子类还是父类

java - 按映射关联进行 hibernate 顺序