我们通过设置的EclipseLink缓存和Session对象
eclipselink.cache.shared.default=false
已禁用缓存,但这种变化是导致ReadAllQuery失败,消息
org.eclipse.persistence.exceptions.QueryException
Exception Description: Queries on isolated classes, or queries set to use exclusive connections, must not be executed on a ServerSession or, in CMP, outside of a transaction.
的失败查询
entityManager.unwrap(Session.class).executeQuery(readAllQuery);
我尝试设置以下参数
eclipselink.query-results-cache=false
eclipselink.refresh=true
仍会发生同样的异常。有人可以帮助解决这个问题。
1)什么是禁用JPA缓存并确保所有查询都转到数据库(以确保所有机器间数据一致)的最佳方法。所有写入/更新/读取都应该对数据库对象起作用,并且应该一致。
2)我们在打了所有的查询
如果添加评论会很好,为什么给出了“-1”,因为它会帮助我改进? – Thiyanesh