Java 在数据库中找不到实体,但存在于持久性上下文中
我正在使用事务1创建一个资源订阅,在该事务1返回之前,它将刚刚创建的订阅资源获取的请求、响应和jpa查询添加到一个队列中,该队列由执行器服务线程负责 此executorService启动单独的事务2,该事务2使用到jpa查询来读取订阅资源的特定属性,但它获得空值,但前一个事务1发现ITZ,因为它可能是它自己创建的。事务2需要读取当前值,但不需要创建它 我使用的是Ecliplink2.6、JDK1.8和Wildfly 10.FinalJava 在数据库中找不到实体,但存在于持久性上下文中,java,jpa,transactions,entitymanager,Java,Jpa,Transactions,Entitymanager,我正在使用事务1创建一个资源订阅,在该事务1返回之前,它将刚刚创建的订阅资源获取的请求、响应和jpa查询添加到一个队列中,该队列由执行器服务线程负责 此executorService启动单独的事务2,该事务2使用到jpa查询来读取订阅资源的特定属性,但它获得空值,但前一个事务1发现ITZ,因为它可能是它自己创建的。事务2需要读取当前值,但不需要创建它 我使用的是Ecliplink2.6、JDK1.8和Wildfly 10.Final 我已经研究了eclipselink是否将其持久化到DB或保持在
我已经研究了eclipselink是否将其持久化到DB或保持在persistenceContext中,因为事务仍然没有完成,新事务正在尝试读取它。这是正常的事务行为
只要T1未提交,T2就无法看到T1中的数据 谢谢西蒙的及时回复。我想知道是否不是从数据库,但我可以使用JPA查询从persistenceContext读取。这可能吗?不,持久性上下文绑定到事务。