情况:
问题: 我只是无法弄清楚为什么App A继续将状态视为未决状态。我已经尝试过许多方法来确保entityManager清除了它(包括App A和App B)但仍然App A查询最终得到了错误的状态。
答案 0 :(得分:0)
@Baldurian 谢谢你的提示。我在获取的对象上添加了一个刷新并且它有效。我通过子对象得到我的状态。事实证明,即使App A在每次查询之前清空了缓存,也永远不会刷新子对象。不完全是我期待的行为。
答案 1 :(得分:0)
您可以如上所述进行刷新,但这需要了解何时进行更改以便了解何时需要刷新 - 并且需要注意刷新消除更改。
如果您经常在此JPA应用程序之外进行更改,则最好在某些或所有实体上禁用共享缓存。 <property name="eclipselink.cache.shared.default" value="false"/>
属性可用于为所有实体禁用它,或者您可以使用@Cache注释选择性地选择