我正在使用本机查询来更新用@ElementCollection
注释的HashMap中某个键的值。
执行查询后,将使用EntityManager.find(...)
重新检查包含HashMap的完整实体。
问题是,检索到的实体中的HashMap仍然包含旧值。
如何使用更新的HashMap获取实体?是否需要刷新缓存?我正在使用Eclipse Link。
答案 0 :(得分:2)
我假设您启用了缓存(默认设置)。因此,您需要调用refresh()来刷新对象。
否则您可以禁用共享缓存,但如果您在EntityManager的上下文中执行此操作,则仍需要刷新或清除持久性上下文以查看更改。
请参阅, http://wiki.eclipse.org/EclipseLink/Examples/JPA/Caching#How_to_refresh_the_cache