現在,由於複製粘貼,我創建了兩個具有相同表名的JPA實體。即:通過單元/集成測試檢測重複表名
@Table(name = "myfirsttable")
public class MyFirstTable { @Id @Column private Long id; }
@Table(name = "myfirsttable")
public class MySecondTable { @Id @Column private Integer id; }
我正在使用Spring Test,這意味着幸運的是,至少有一個測試失敗時,我這樣做。麻煩的是我看到的失敗會抱怨數據類型。例如,在上面,我會看到從HibernateJpaAutoConfiguration.class
引發的異常,例如的expected int but found bigint
。如果我看一下應該是myfirsttable
的課程,我會感到困惑(我很容易混淆),想「但它說這是一個Long
,所以bigint
肯定是正確的映射?」我可能需要一段時間才能弄清楚爲什麼我會看到這條信息。同樣,堆棧跟蹤可能會提到無法找到一個字段。
到目前爲止,只有幾次我覺得有必要創建兩個指向同一個表的不同實體,以便覆蓋99%的情況下兩個實體指向同一個表的方法是一個錯誤,我想知道是否有一個簡單的方法來設置一個測試,這會失敗,告訴我,我已經創建了一個重複的表名稱。我正在考慮一個可以放入我所有項目的測試,這可以給我一個有用的警告來確定這個問題。
加載'ApplicationContext'是我看到當前錯誤的地方。問題更多的是關於檢測可能的重複'@ Table'註釋的錯誤。我可以看看手動掃描「@ Table」註釋類。我不會認爲這太棘手...... – Steve