EclipseLink,DescriptorEvent不一致,是否真的提交后?

时间:2016-03-11 16:29:39

标签: java jpa eclipselink

我正在使用EclipseLink DescriptorEventListener interface

postUpdate方法中,我收到实体已更新的通知。如果我从事件中提取实体对象(通过在事件上使用getObject()),那么我有一个对象,其中包含对象的 new 值。这是预期的。文档对此不准确,但我假设'postUpdate'也暗示提交后??

从事件我现在通知另一个线程,该实体已更新。该另一个线程使用对象的PK对数据库执行重新查询。现在,奇怪的是,从重新查询返回的对象具有对象的值(即预更新)。为什么?

我正在使用EclipseLink 2.6并使用JPA 2.1接口。数据库是Oracle 12.我个人认为这些问题与EclipseLink具有会话范围的实体缓存这一事实有关,我敢打赌re-requery实际上从未实际访问过数据库。或许它确实如此。不知道。

有关正在发生的事情的任何线索?这是预期的行为吗?

0 个答案:

没有答案