我一直遇到 JPA 封闭连接问题。我正在使用带有休眠 3.0 的 spring 3.0.5。我正在使用 JPA 事务管理器来管理我的服务并使用 REQUIRED 传播。
这是我的场景。
Table A
id
desc (LAZY)
Table B
a_id
a_id in Table B refers to id of Table A.
我想在给定实体 B 的情况下加载实体 A。
Here is what I am doing (roughly) inside the controller:
List<B> list = serviceB.find() ;
for each element - itemB in above list : itemA = serviceA.find(itemB.a_id);
convert itemA to UI bean and set it in model.
我假设我的服务中的每个 find() 方法都将通过 REQUIRED 传播在事务中执行。但是,对于第二个 find() 它会抛出异常,而且是断断续续的。有时它说 CLOSED 连接,有时它说“事务未激活”,奇怪的是在其他时候它确实按预期工作!快把我逼疯了..
帮助表示赞赏!