gpt4 book ai didi

hibernate - 使用 H2 正确拆卸 hibernate 测试

转载 作者:行者123 更新时间:2023-12-03 12:34:20 25 4
gpt4 key购买 nike

目前,我在测试套件中的每次测试后都使用以下内容。但是它使它变得非常慢,因为 H2 必须在每次测试后重新加载应用程序上下文。有没有更快的方法来清除我的所有对象,这样我就不会在两次测试之间产生遗留物?

@org.junit.After
public void tearDown() throws Exception {
context.close();
}

最佳答案

试试 context.clear()

EntityManager.clear:清除持久化上下文,导致所有托管实体变得分离。对尚未刷新到数据库的实体所做的更改将不会被持久化。

Session.clear:完全清除 session 。

此外,您可以通过实现单例模式来确保每个测试中使用的实体管理器/ session 是相同的。您可以使用动态 SQL 脚本清除所有表中的数据。两者都在 PersistenceHelper here 下描述.

关于hibernate - 使用 H2 正确拆卸 hibernate 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16172640/

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