Как мне настроить режим гибернации для работы в примере Karaf JPA?

#java #hibernate #jpa #h2

#java #режим гибернации #jpa #h2

Вопрос:

Я хочу разобраться в этом примере Karaf JPA.

Когда я следую инструкциям по добавлению функций и запускаю пакеты для EclipseLink, пример работает правильно.

Однако, если я попытаюсь использовать режим гибернации, это не сработает. Я недостаточно хорошо знаю Hibernate / H2, чтобы понять, чего мне не хватает. Когда я запускаю feature:install karaf-jpa-example-provider-ds-hibernate , я вижу это в журнале:

 javax.persistence.PersistenceException: [PersistenceUnit: booking-hibernate] Unable to build Hibernate SessionFactory
  

diag возвращает эту информацию:

 Status: Waiting
Declarative Services
org.apache.karaf.examples.jpa.provider.ds.hibernate.BookingServiceImpl (1) missing references: jpaTemplate
  

Установки karaf и H2 являются новыми и пустыми. Я подозреваю, что в H2 мне нужно что-то сделать, но у меня нет опыта работы с этой базой данных.

Редактировать: используя blueprint пример, снова EclipseLink работает, а Hibernate — нет. Выполнение этой команды: feature:install karaf-jpa-example-provider-blueprint-hibernate вызывает эту ошибку в журнале:

 ERROR [features-2-thread-1] Bundle org.apache.aries.jpa.container [72] EventDispatcher: Error during dispatch. (javax.persistence.PersistenceException: [PersistenceUnit: booking-hibernate] Unable to build Hibernate SessionFactory)
javax.persistence.PersistenceException: [PersistenceUnit: booking-hibernate] Unable to build Hibernate SessionFactory
  

И это диагональ:

 Missing dependencies:
(amp;(osgi.unit.name=booking-hibernate) 
(objectClass=javax.persistence.EntityManager))
  

Правка # 2: я использую JDK11 (11.0.2).

спасибо, Джон

Комментарии:

1. Надеюсь, вы инициализировали параметр contructor with jpaTemplate в BookingServiceImpl

2. Я не вносил никаких изменений в код — я все же попробую это.

Ответ №1:

Похоже, проблема в JDK11. Я перешел на JDK8, и он работает.

Это сообщение, которое дало мне ключ к пониманию: https://hibernate.atlassian.net/browse/HHH-12924