JPA:配置持久性提供程序
我得到了一个用maven(quickstart原型)创建的简单java项目JPA:配置持久性提供程序,jpa,drools,persistence.xml,meta-inf,Jpa,Drools,Persistence.xml,Meta Inf,我得到了一个用maven(quickstart原型)创建的简单java项目 我正在尝试为drools会话配置JPA持久性(代码来自drools文档) 我在pom.xml中添加了drools持久性jpa、Bitronix事务管理器和com.h2数据库依赖项 我在Eclipse项目的“src/META-INF”中创建了一个META-INF文件夹作为源文件夹 我在那里添加了persistence.xml和jndi.properties文件 在我的测试用例中,我有以下代码: [……] EntityMan
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0"
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:orm="http://java.sun.com/xml/ns/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd
http://java.sun.com/xml/ns/persistence/orm
http://java.sun.com/xml/ns/persistence/orm_1_0.xsd">
<persistence-unit name="org.drools.persistence.jpa" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>jdbc/testDatasource</jta-data-source>
<class>org.drools.persistence.info.SessionInfo</class>
<class>org.drools.persistence.processinstance.ProcessInstanceInfo</class>
<class>org.drools.persistence.processinstance.ProcessInstanceEventInfo</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" />
<property name="hibernate.max_fetch_depth" value="3" />
<property name="hibernate.hbm2ddl.auto" value="create" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.connection.autocommit" value="true" />
<property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.BTMTransactionManagerLookup" />
</properties>
</persistence-unit>
</persistence>
org.hibernate.ejb.HibernatePersistence
jdbc/testDatasource
org.drools.persistence.info.SessionInfo
org.drools.persistence.processinstance.ProcessInstanceInfo
org.drools.persistence.processinstance.ProcessInstanceEventInfo
我认为问题与放置persistence.xml
文件的位置有关。您必须放置在src/main/resources/META-INF
或src/test/resources/META-INF
中,而不是src/META-INF
编辑:
在persistence.xml文件中,您声明要使用org.hibernate.ejb.HibernatePersistence作为提供程序。根据您的评论,您没有将hibernate entitymanager
作为依赖项。尝试添加该依赖项
希望有帮助