JPA2.0 поддержка пользовательских типов пользователей и кеша второго уровня - PullRequest
5 голосов
/ 02 сентября 2010

Я пытаюсь решить, стоит ли переключаться с разбрасывания Hibernate на использование JPA2.0 и, следовательно, быть переносимым поставщиком.
1.Поддерживает ли JPA2.0 пользовательские типы пользователей?Я нахожусь на грани реализации Terracotta в качестве кэша второго уровня до Hibernate с его возможностями кластеризации в основном.Я мог бы представить, но на самом деле я не знаю, что JPA2.0 также определяет спецификацию для провайдеров кэша второго уровня.Если я прав, Terracotta это реализует?(Если бы кто-то мог указать мне на начало работы с Terracotta и JPA, я был бы признателен).

Заранее спасибо,
Иттай

1 Ответ

7 голосов
/ 02 сентября 2010

Поддерживает ли JPA2.0 пользовательские типы пользователей?

Ничего, кроме @Embedded и @Embeddable (уже в JPA 1.0). В зависимости от сложности ваших потребностей они могут выполнять свою работу.)

Я бы предположил, но на самом деле я не знаю, что JPA2.0 также определяет спецификацию для провайдеров кэша второго уровня.

JPA 2.0 определяет методы в EntityManager для доступа к кэшу второго уровня, который поддерживается провайдером постоянства, аннотации Cacheable и некоторым другим. Но способ подключения кеша к вашему провайдеру JPA зависит от провайдера. Так что нет, JPA не определяет спецификацию для провайдеров кэша второго уровня. И если вы хотите использовать Terracota в качестве поставщика кэша L2 с Hibernate в качестве реализации JPA 2.0, посмотрите документацию по интеграции Hibernate.

Ссылки

  • спецификация JPA 2.0
    • Раздел 3.7 «Кэширование»
    • Раздел 7.10 «Интерфейс кэша»
    • Раздел 11.1.7 «Кэшируемая аннотация»
...