как назначить разные стратегии параллелизма одному и тому же (постоянному) объекту? - PullRequest
2 голосов
/ 27 мая 2009

Я использую JPA и кэш второго уровня для всех ссылочных объектов. Все работает хорошо, я могу получить объекты из кэша второго уровня, если они уже были выбраны ранее.

Теперь у меня есть два приложения, оба они используют одну и ту же базу данных (поэтому они оба используют одну и ту же таблицу, значения и т. Д.). 1. Приложение только для чтения просто читает данные из базы данных, оно вообще не изменяет базу данных. Поэтому я выбираю стратегию параллельного исполнения READ_ ONLY для кэша второго уровня, стремясь повысить производительность. 2. Приложение для чтения и записи, а также для чтения и записи данных базы данных, оно модифицирует базу данных. Следовательно, я должен выбрать стратегию параллелизма «READ_ WRITE» или «NONSTRICT_ READ_ WRITE» для кэша второго уровня.

Однако стратегия параллелизма назначается в аннотации для каждого класса сущностей, поэтому я не могу изменить ее программно. (Я не использую файлы сопоставления классов для JPA, поэтому я не могу использовать два файла сопоставления, каждый для своей стратегии параллелизма для одного и того же класса сущности.)

Мой вопрос: Есть ли хороший способ изменить стратегию одновременного использования кэша второго уровня на лету в соответствии с моими двумя различными приложениями?

Ответы [ 2 ]

2 голосов
/ 28 мая 2009

Я не использовал Hibernate, но, по крайней мере, если вы используете JPA, можно переопределить даже одну аннотацию с файлом дескриптора развертывания. Вы также должны иметь возможность переопределить также любое специфичное для поставщика свойство с помощью дескриптора развертывания.

К сожалению, я не могу привести вам пример, но надеюсь, что это поможет вам.

0 голосов
/ 29 мая 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...