use of the same entity name twice


使用hibernate開發的過程中產生了【use of the same entity name twice】這樣的錯誤,記錄下原因。

背景

spring的依賴注入(使用注解)在注冊bean的時候,如果沒有手動給bean命名(注解參數,比如@Component("yanggb")),那么spring就會自動將類名解析為bean名。

而使用hibernate的時候同樣使用的是spring提供的注解(或是hibernate自定義的),也會有同樣的問題存在。

原因

如果這個時候,在兩個不同的包下有兩個相同的實體類名(解析成相同的bean名,導致注入重復)的話,在寫代碼的時候不會報錯,但是一旦編譯了,就會報這個錯誤。

這個錯誤只會出現在使用注解(比如@Entity)的情況下,因為使用xml的方式的話,聲明bean是會帶上包名的。

解決辦法

手動添加bean名(比如@Entity(name="yanggb")),或使用xml的方式代替注解的方式(我不聽我不聽)。

 

"你是一陣穿堂風,無意偏偏引山洪。"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM