只需要您对Spring的声明式交易管理的专家意见。这里是我的设置:春季 - 只读交易
- DAO层是普通的旧JDBC使用Spring的JdbcTemplate(无休眠等)
- 服务层是POJO与声明式事务如下 -
save*, readonly = false, rollback for Throwable
事情很好地工作以上设置。但是,当我说get*, readonly = true
时,我在我的日志文件中看到错误,说Database connection cannot be marked as readonly
。这发生在服务层的所有get *方法中。
现在我的问题是:
A.我必须设置get*
为只读?我所有的get*
方法都是纯读取数据库操作。我不希望在任何事务环境中运行它们。上述错误有多严重?
B.当我删除get*
配置时,我看不到错误。另外,我所有的简单的get*
操作都是在没有事务的情况下执行的。这是要走的路吗?
C.为什么任何人想要有交易方法readonly = true
?这个配置有什么实际意义吗?
谢谢!一如既往,您的反应非常感谢!
谢谢Bozho!当天清除。我想我将使用普通JDBC删除get *配置。 – AAK 2010-04-01 20:19:09
如果没有只读事务,您也可以打开自己的'org.hibernate.LazyInitializationException'。 – HDave 2014-11-12 21:15:10
以何种方式可以避免org.hibernate.LazyInitializationException,同时起诉waffle身份验证管理器。 – 2015-08-27 13:53:19