我想了解这个Karaf JPA example。
当我按照说明添加功能并为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)。
谢谢, 乔恩
答案 0 :(得分:0)
似乎是JDK11。我已经转移到JDK8,并且可以正常工作。