gpt4 book ai didi

java - Persistence.createEntityManagerFactory 需要很长时间

转载 作者:行者123 更新时间:2023-12-02 08:07:14 24 4
gpt4 key购买 nike

我有一个 DBUnit 测试,运行正常,但需要很长时间(4-5 分钟)才能创建实体管理器工厂。我将 JPA 与 hibernate 和 SQL 服务结合使用。如果有人能对此有所了解,将会有很大帮助。我的机器似乎更快地将其归咎于 Sql 服务器:) 这是我的设置代码。

@BeforeClass
public static void initEntityManager() throws Exception {
emf = Persistence.createEntityManagerFactory("primary");
em = emf.createEntityManager();
tx = em.getTransaction();

connection = new DatabaseConnection(((EntityManagerImpl) em).getSession().connection());
dataset = getDataSet();
}

这是我的 Persistence.xml

<persistence-unit name="primary" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.prototype.database.Customer</class>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<!-- Properties for Hibernate -->
<property name="hibernate.hbm2ddl.auto" value="create-drop" />
<property name="hibernate.show_sql" value="false" />
<property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect" />
<property name="hibernate.connection.username" value="testuser" />
<property name="hibernate.connection.password" value="testuser" />
<property name="hibernate.connection.url" value="jdbc:sqlserver://localhost:1433;DatabaseName=testdb"/>
</properties>
</persistence-unit>

最佳答案

最终成功地将 EntityManagerFactory 操作时间从平均 255 秒左右减少到约 3 秒。将 hibernate-entitymanager 从 3.4.0.GA 升级到 3.6.3.Final,瞧!单元测试现在就像单元测试一样运行,不到 6 秒。将尝试根据我的知识寻求这种改进的答案。

关于java - Persistence.createEntityManagerFactory 需要很长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7966281/

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