java - 使用 hibernate 在 JPA 中配置 EntityManager

标签 java hibernate jakarta-ee jpa

我的应用程序的 META-INF 文件夹中有以下 persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>

<persistence version="2.0"
    xmlns="http://java.sun.com/xml/ns/persistence" 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_2_0.xsd">

    <persistence-unit name="Hello" transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>

        <properties>
            <property name="hibernate.show_sql" value="true" />
            <property name="javax.persistence.jdbc.driver" value="oracle.jdbc.driver.OracleDriver" />
            <property name="javax.persistence.jdbc.url" value="jdbc:oracle:thin:@my.db.com:1521:TEST"/>
            <property name="javax.persistence.jdbc.user" value="newuser" />
            <property name="javax.persistence.jdbc.password" value="password@123" />
            <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
            <property name="hibernate.hbm2ddl.auto" value="update"/>
        </properties>
    </persistence-unit>
</persistence>

web.xml 的上下文参数是:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        /WEB-INF/applicationContext.xml
        /WEB-INF/rules-*.xml
    </param-value>
</context-param>

在代码中,我正在执行以下操作:

EntityManagerFactory emf = Persistence
        .createEntityManagerFactory("Hello");
EntityManager em = emf.createEntityManager();
RulesMasterTable rule = em.find(RulesMasterTable.class,
        ruleName);

但异常(exception)的是:

javax.persistence.PersistenceException: No Persistence provider for EntityManager named Hello javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:69)javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)

为什么我的持久性单元没有注册?

最佳答案

我认为您不应该使用RESOURCE_LOCAL事务类型,请使用JTA。尝试在这里查看:Difference between a "jta-datasource" and a " resource-local " datasource?

关于java - 使用 hibernate 在 JPA 中配置 EntityManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18181262/

相关文章:

java - 动画处理几个循环

java - 初始化多个配置文件时出错

java - JPA + hibernate 环境

java - JPA 合并第一次不起作用,但第二次起作用

java - 从 JSF 中的数据表获取选定行数据

java - 在 Java Swing 中放置组件

java - 在 Java 中使用 ArrayList 从文件中读取

java - jpa一对多插入重复键插入

java - HTTP 状态 500 - 空

maven - 如何在我的 Maven 项目中导入所有提供的 Wildfly 库?