簡體   English   中英

使用JPA重置MySql數據庫的自動增量值

[英]Resetting auto-increment value of MySql database with JPA

我剛開始用JUnit編寫我的第一個單元測試,但遇到一個小問題。 在單元測試中,我正在將新數據插入MySql數據庫。 添加信息后,我將在下一個單元測試中刪除相同的信息。

我的表ID是自動遞增的,每次運行單元測試時,下一個ID的值都會遞增1。

我使用@AfterClass注釋實現了一個新方法,以便在完成單元測試后將重置增量值。 我用這個查詢:

entityManager.createNativeQuery("ALTER TABLE student AUTO_INCREMENT = 1");

如果我直接將新信息添加到MySql數據庫中,則下一個ID的值不是我想要的值(表+1中的最后一個ID值)。

但是,當我直接在數據庫中運行sql-query時,查詢確實起作用。

我的問題:在單元測試中是否不可能運行此類查詢? 還是我完全以錯誤的方式看待這個問題。

我正在使用java,spring,hibernate,jpa,junit

提前致謝!

您創建了一個查詢,但是忘記執行它:

entityManager
    .createNativeQuery("ALTER TABLE student AUTO_INCREMENT = 1")
    .executeUpdate(); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM