我有一個JPA/Hibernate對象,它使用複合鍵作爲主鍵。我正在嘗試從數據庫讀取對象並進行更新。JPA /休眠 - x實例的標識符被更改異常
可以說主鍵是(id和name),並且數據庫中存在以下行。
1 john London
2 bob Birmingham
3 Dave Kent
如果我使用鍵(1,約翰)加載對象,然後一切正常。
org.hibernate.HibernateException: identifier of an instance of Document was altered from com.myPck.test1.documentsPK[ Id=1, msgOwner=john ] to com.myPck.test1.documentsPK[ Id=1, msgOwner=John ];
後我加載行我也更新它使用JPQL,但我不更新任何的:如果我使用相同的主,但使用的不同情況(1,約翰),然後我得到下面的異常加載它主鍵列。有趣的是,如果我搜索一個不存在的行,我不會得到這個異常。它只會發生,如果我搜索一個確實存在的行,但在密鑰上使用的情況與實際在數據庫中不同。
什麼可能導致這種情況,我該如何解決它?
謝謝
mysql? (更多的字符,只是忽略) – esej