1

我使用 EclipseLink 作为我的 JPA 提供程序。当我在查询对象上使用以下代码时:

myQuery.setHint("eclipselink.read-only", "true");

查询在与原始 EntityManager 使用的连接不同的连接上执行,并返回错误的结果。
将查询设置为只读会导致 EclipseLink 在不同的连接上运行它是否有意义?(我正在使用连接池)。
另外我在persistence.xml中添加了:

<shared-cache-mode>NONE</shared-cache-mode>

禁用跨会话缓存。

4

1 回答 1

1

只读查询旨在仅显示已读提交的数据。如果您需要事务性数据,则不应使用只读。

您可能能够使用独占连接,(持久性单元或持久性上下文属性)

"eclipselink.jdbc.exclusive-connection.mode"="总是"

于 2013-02-25T16:45:18.063 回答