我有一个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