Byr*_*ach 2 java mysql junit spring jpa
我刚开始用 JUnit 编写我的第一个单元测试,但遇到了一个小问题。在我的单元测试中,我将新数据插入到我的 MySql 数据库中。添加信息后,我会在下一个单元测试中删除相同的信息。
我的 table-id 是自动递增的,并且每次运行单元测试时,下一个 id 的值都会递增 1。
我用@AfterClass 注释实现了一个新方法,这样在我完成单元测试后,它会重置增量值。我使用了这个查询:
entityManager.createNativeQuery("ALTER TABLE student AUTO_INCREMENT = 1");
Run Code Online (Sandbox Code Playgroud)
如果我将新信息直接添加到 MySql 数据库中,则下一个 id 的值不是我想要的(表中的最后一个 id 值 +1)。
但是,当我直接在数据库中运行 sql-query 时,查询确实有效。
我的问题:在单元测试时是否不可能运行这些类型的查询?还是我完全看错了。
我正在使用 java、spring、hibernate、jpa、junit
提前致谢!
您创建了一个查询,但忘记执行它:
entityManager
.createNativeQuery("ALTER TABLE student AUTO_INCREMENT = 1")
.executeUpdate();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8440 次 |
| 最近记录: |