Вопрос

Погуглив несколько часов, я понял, что пользователи могут использовать либо файл xml (я полагаю, orm.xml?), либо аннотации в JPA, либо и то, и другое одновременно.Я правильно?Итак, мой проект использует кеш второго уровня, которого нет в спецификации JPA.И я использую аннотации типа:@org.hibernate.annotation.cache (usage = org.hibernate.annotation.cacheconcurrencystrategy.read_write)

для каждой сущности.Однако я предполагаю, что приведенная выше аннотация не относится к аннотации JPA, поэтому я не знаю, есть ли что-нибудь эквивалентное в orm.xml?Я просмотрел схему xml файла orm.xml, и в схеме не разрешен такой элемент спящего режима.

Если я не могу выполнить настройку кэша второго уровня в orm.xml, есть ли другой способ, кроме аннотации?Причина, по которой я не хочу делать это, заключается в том, что у меня есть два приложения: одно использует стратегию параллелизма READ_WRITE, а другое использует стратегию параллелизма READ_ONLY.

Заранее спасибо!!!

Кевэй

Это было полезно?

Решение 3

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

Другие советы

вы можете использовать файлы hibernate.cfg.xml, hibernate.properties или *.hbm.xml, чтобы включить кэширование определенных объектов с различными стратегиями кэширования.

Если вы не хотите использовать аннотации, проверьте документацию вашей реализации кэша второго уровня в спящем режиме (например, «поставщика кэша», ehcache) как это настроить.

Обратите внимание, что Hibernate позволяет использовать разных поставщиков кэша, поэтому общего ответа на ваш вопрос нет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top