2013-06-28 2 views
0

Мне поручено исправление ряда ошибок в существующем приложении, которое использует JPA (EclipseLink).JPA несколько объектов одна таблица/вид

В этом приложении обычно существует несколько объектов, которые косвенно используют одну и ту же таблицу через представления SQL. В качестве примера у меня может быть объект под названием TEmployeeInfo и другой объект под названием VActiveEmployeeInfo. В то время как первая карта непосредственно сопоставляется с таблицей, вторая отображает представление той же таблицы, что и первая.

Похоже, что это вызовет проблемы с кешированием, так как любые обновления с использованием первой сущности (таблицы) не будут сразу доступны во втором (представлении).

Являются ли мои подозрения правильными?

Если да, то каковы возможные шаги для устранения этого недостатка в рефакторинге значительной части приложения?

ответ

1

Если одни и те же строки отображаются дважды, то кеш может стать устаревшим, если объекты обновляются. Вы можете использовать оба класса в реальной таблице или, возможно, использовать наследование.

В противном случае вы можете отключить общий кэш этого класса.

http://wiki.eclipse.org/EclipseLink/FAQ/How_to_disable_the_shared_cache%3F