Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate JPA交易管理器的关闭连接问题_Hibernate_Jpa - Fatal编程技术网

Hibernate JPA交易管理器的关闭连接问题

Hibernate JPA交易管理器的关闭连接问题,hibernate,jpa,Hibernate,Jpa,我一直在遇到JPA的封闭连接问题。我正在使用Spring3.0.5和Hibernate3.0。我正在使用JPA事务管理器管理我的服务,并使用所需的传播。 这是我的设想 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&l

我一直在遇到JPA的封闭连接问题。我正在使用Spring3.0.5和Hibernate3.0。我正在使用JPA事务管理器管理我的服务,并使用所需的传播。

这是我的设想

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.
以下是我在控制器内(大致)做的事情:
List List=serviceB.find();
对于上面列表中的每个元素-itemB:itemA=serviceA.find(itemB.a_id);
将itemA转换为UI bean并在模型中设置它。
我假设我的服务中的每个find()方法都将通过所需的传播在事务内部执行。但是,对于第二个find(),它会抛出异常,而且也是间歇性的。有时它表示连接已关闭,有时它表示“事务未激活”,奇怪的是,有时它确实按预期工作!快把我逼疯了


谢谢你的帮助

问题在于多个线程访问相同的服务方法。当我更改UI页面以进行串行访问而不是并行访问(使用ajax)时,不会发生这种情况。必须使实体管理器与多线程方案一起工作