产生此问题的原因:
原因1: 有两张表,table1和table2.产生此问题的原因就是table1里做了关联<one-to-one>或者<many-to-oneunique="true">(特殊的多对一映射,实际就是一对一)来关联table2.当hibernate查找的时候,table2里的数据没有与table1相匹配的,这样就会报No
row with the givenidentifier exists这个错.
假如说,table1里有自身的主键id1,还有table2的主键id2,这两个字段.
如果hibenrate设置的单项关联,即使table1中的id2为null值,table2中id2中有值,查询都不会出错.但是如果table1中的id2字段有值,但是这个值在table2中主键值里并没有,就会报上面的错!
如果hibernate是双向关联,那么table1中的id2为null值,但是table2中如果有值,就会报这个错.这种情况目前的解决办法就是改成单项关联,或者把不对应的数据改对!
原因2:
hibernate在用注解写bean的时候,若字段上忘记加注解,同样可能会报这个错
原因1:
原因2:
hibernate在用注解写bean的时候,若字段上忘记加注解,同样可能会报这个错
本文解析了Hibernate在进行表间一对一或多对一关联映射时出现“No row with the given identifier exists”错误的原因及解决方法,并提到了由于注解遗漏导致的问题。
706

被折叠的 条评论
为什么被折叠?



