Но будут ли у меня какие-либо преимущества при использовании чисто Hibernate Core?
Если JPA 2.0 поддерживает то, что вам нужно, то, на мой взгляд, нет никакого преимущества в использовании Hibernate Core напрямую (а в JPA 2.0 разрыв стал меньше, что делает необходимость перехода к Core исключением, а не правилом) это очень хорошая вещь).
Интересно, действительно ли модель JPA 2 подходит поверх Hibernate Core без каких-либо противоречий?
Это происходит начиная с JPA 1.0, разработчики Hibernate создали Hibernate3 с "JPA в уме" и приняли семантику JPA, значения по умолчанию и т. Д. В Hibernate3. Возможно, вы захотите послушать Гэвина в этом Tech Talk: Гэвин Кинг на Hibernate3 и EJB3 :
В этом техническом разговоре Кинг обсуждает как
Hibernate3 опирается на и расширяет
EJB3 , затрагивающий такие темы как:
- Новые функции Hibernate3
- Отношения между Hibernate3 и контейнером EJB3 в JBoss
- Что отличает Hibernate3 от спецификации EJB3
- Пользовательские аннотации Hibernate доступны вне EJB
- будущее Hibernate
И, согласно моему практическому опыту, тот факт, что Hibernate не противоречит EJB 3, является истинным.
IOW, всегда ли откат к Core всегда легок и без проблем?
Независимо от того, используете ли вы Core напрямую или нет, вы используете , используя его (EntityManager
- это обертка вокруг Session
). Так что да, вернуться к Core легко, если вам действительно нужно (для вещей, которые еще не включены в спецификацию, например, Query By Example). И, нет, это не вызовет никаких проблем (поскольку вы на самом деле используете его или его часть в JPA).
Похожие вопросы