Я хочу понять этот Пример Карафа JPA.
Когда я следую инструкциям по добавлению функций и запуску пакетов для eclipseLink, пример работает правильно.
Однако, если я попытаюсь использовать Hibernate, это не сработает. Я недостаточно хорошо знаю 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:
(&(osgi.unit.name=booking-hibernate)
(objectClass=javax.persistence.EntityManager))
Редактировать № 2: я использую JDK11 (11.0.2).
Спасибо, Джон




Похоже, проблема в JDK11. Я перешел на JDK8, и он работает.
Вот пост, который меня подсказал: https://hibernate.atlassian.net/browse/HHH-12924