1

我正在使用本机查询来更新带有注释的 HashMap 中某个键的值@ElementCollection

执行查询后,将使用 检索包含 HashMap 的完整实体EntityManager.find(...)。问题是,检索到的实体中的 HashMap 仍然包含旧值。

如何使用更新的 HashMap 获取实体?是否需要刷新缓存?我正在使用 Eclipse 链接。

4

1 回答 1

2

我假设您启用了缓存(默认)。所以你需要调用 refresh() 来刷新对象。

否则,您可以禁用共享缓存,但如果您在 EntityManager 的上下文中执行此操作,则仍然需要刷新或清除持久性上下文才能看到更改。

见, http://wiki.eclipse.org/EclipseLink/Examples/JPA/Caching#How_to_refresh_the_cache

于 2013-04-04T13:03:43.087 回答