我的任务是在使用JPA(EclipseLink)的现有应用程序上修复许多错误。
在这个应用程序中,通常有多个实体通过SQL视图间接共享同一个表。例如,我可能有一个名为 TEmployeeInfo 的实体和另一个名为 VActiveEmployeeInfo 的实体。当第一个映射到表时,第二个映射到与第一个表相同的表的视图。
这似乎会导致缓存问题,因为使用第一个实体(表)的任何更新都不会在第二个(视图)中立即可用。
我的怀疑是否正确?
如果是这样,有哪些可能的步骤可以纠正重构大部分应用程序的缺点?
答案 0 :(得分:1)
如果相同的行被映射两次,那么如果更新对象,缓存可能会变得陈旧。您可以让两个类都使用真实表,也可以使用继承。
否则,您可以禁用此类的共享缓存。
http://wiki.eclipse.org/EclipseLink/FAQ/How_to_disable_the_shared_cache%3F