我正在尝试为drools会话配置JPA持久性(代码来自drools文档)
>
我在pom.xml中添加了drools-persistence-jpa、Bitronix事务管理器和com.h2database依赖项
我在“src/META-INF”中的Eclipse项目中创建了一个META-INF文件夹作为Source-Folder。
[...]EntityManagerFactory emf=persistence.createEntityManagerFactory(“org.drools.persistence.jpa”);[...]
运行测试时,我得到以下异常:
Exception:在javax.Persistence.Persistence.createEntityManagerFactory(Persistence.java:69)在javax.Persistence.Persistence.createEntityManagerFactory(Persistence.java:47)在com.sample.mytest.testjpa(mytest.java:112)没有名为org.drools.Persistence.jpa的EntityManager的持久性提供程序
我比较肯定的是,我创建META-INF或persistence.xml的方式有问题(见下文)。有什么建议吗?
<?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>
我认为问题与您放置persistence.xml
文件的位置有关。您必须将src/meta-inf
放在src/main/resources/meta-inf
或src/test/resources/meta-inf
中,而不是src/meta-inf
编辑:在persistence.xml文件中,您声明希望使用org.hibernate.ejb.HibernatePersistence作为提供程序。根据您的评论,您没有将hibernate-entitymanager
作为依赖项[source]。尝试添加该依赖项。
希望有帮助,
我正在使用JPA和Hibernate开发一个Swing应用程序。但每次我尝试调用以下代码以获取 我得到以下异常: 和 是 依赖关系: 除 junit 之外的所有依赖项都在类路径中
我正在开发一个java ee应用程序,使用jpa来控制mysql db和Struts。不幸的是,当我在tomcat服务器上运行该项目时,我得到了这个错误。 我已经在网上搜索了一个解决方案,但没有解决我的问题。以下是文件: src/test/libro.java src/meta-inf/persistence.xml src/struts.xml webContent/web-inf/web.xm
我的动态 Web 应用程序有问题。我刚刚开始学习JavaEE 6,现在我在JPA上堆叠。我配置了我的应用程序,添加了库,但我仍然得到这个令人讨厌的信息:没有名为X的EntityManager的持久性提供程序。我试图在互联网上得到答案,但没有什么帮助我。 这是我的persistance.xml文件: 这是我的班级Uzytkownik.java: 以及servlet中我的EntityManagerFa
我根本无法解决这个问题,而且有大量的堆栈溢出帖子都带有相同的错误消息。我都试过了,但还是没能成功。也许我在寻找一些小东西。我真的需要帮助,提前谢谢你。 错误消息 这是persistence.xml文件 EntityManagerFactory
我正要为一个新的应用程序创建一个后端,但在配置时遇到了问题。我使用的是<code>GlassFish 5.0.0</code>和<code>Hibernate 5.4.5。最终</code>与<code>MySQL</code>一起使用。 我得到的错误是: < code > persistence . XML : 这是: < code>persistence.xml位于< code > proje
我是EE的新手,我正在Weblogic 12c上开发一个应用程序。数据源在管理控制台中测试良好。当EJB试图访问它时,它会抛出这个ClassNotFoundException。我已经做了三个小时的研究,我知道问题是一些jar不在服务器的类路径中,但我不知道是哪一个!!!我正在使用默认的Eclipse Link持久性提供程序并使用MySQL驱动程序。这两个都是用Weblogic打包的(根据Oracl