gpt4 book ai didi

java - 从 hibernate 迁移到持久化

转载 作者:行者123 更新时间:2023-12-01 09:50:04 25 4
gpt4 key购买 nike

我正在使用 Maven 和 JPA 编写一个项目(不是 Web 应用程序!)。

我编写了带注释的实体类和 CRUD 服务类。但现在,我需要使用 javax.persistence.EntityManager 而不是 org.hibernate.Session 来执行这些 CRUD 操作。

我使用 Hibernate 作为 JPA 提供程序,并且在资源文件夹下的 hibernate.cfg.xml 上配置了所有内容,目前运行正常。

我知道为了创建 EntityManagerFactory

EntityManagerFactoryEntityManagerFactory = Persistence.createEntityManagerFactory(persistenceUnitName),

然后我必须在 META-INF 下有 persistence.xml 但我没有这个 xml。

我的问题是:如何从 Hibernate Session 迁移到 JPA EntityManager?持久性配置文件中的 hibernate 配置 xml 文件相当于什么?

注意:我无法将我的项目转换为 JPA(没有选项)。

这是我的 hibernate.cfg.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.DerbyDialect</property>
<property name="hibernate.connection.driver_class">org.apache.derby.jdbc.EmbeddedDriver</property>
<property name="hibernate.connection.url">jdbc:derby:D:/db/derby/svn;create=true</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password"></property>
<property name="hibernate.current_session_context_class">org.hibernate.context.internal.ThreadLocalSessionContext</property> <!-- org.hibernate.context.internal.ManagedSessionContextThreadLocalSessionContext -->
<property name="hibernate.hbm2ddl.auto">create</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>

<mapping class="entity.Pe" />
<mapping class="entity.Us" />
<mapping class="entity.Te" />
</session-factory>
</hibernate-configuration>

最佳答案

persistence.xmlhibernate.cfg.xml 非常相似。正在关注this你可以找到一个非常简单的比较。

我认为“只需创建一个文件夹 META-INF 并在其下放置等效的 persistence.xml”就可以解决问题。文件夹必须在项目的注册源文件夹中声明,通常是 src/main/resources/META-INF 。

然后你可以执行这一行:

EntityManagerFactory emf =
Persistence.createEntityManagerFactory("YourPersistenceUnitNameHere")

关于java - 从 hibernate 迁移到持久化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37653506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com