No row with the given identifier exists 的原因和解决方法

hibernate 中有时候会报No row with the given identifier exists这样的错误。另外还有这样的提示: [com.gohighsoft.pt.domain.entity.Resource#4443550]。出现这样的异常,简单来说,就是数据库中关联的两张表,其中一个表没有了与另外一个表相匹配的数据。比如: table1里有自身的主键id1,还有table2的主键id2,这两个字段。如果hibenrate设置的单项关联,即使table1中的id2为null值,table2中id2中有值,查询都不会出错.但是如果table1中的id2字段有值,但是这个值在table2中主键值里并没有,就会报上面的错! 如果hibernate是双向关联,那么table1中的id2为null值,但是table2中如果有值,就会报这个错.这种情况目前的解决办法就是改成单项关联,或者把不对应的数据改对!这里的提示#4443550,告诉我们实体类所对应的表中缺少这个数据,所以在数据库中补上就可以了。

你可能感兴趣的:(No row with the given identifier exists 的原因和解决方法)