本文主要是介绍No row with the given identifier exists 解决方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 博客分类:
- 异常、错误处理
Hibernate
有两张表,a和b.产生此问题的原因就是a里做了关联<one-to-one>或者<many-to-one unique="true">(特殊的多对一映射,实际就是一对一)来关联b.当hibernate查找的时候,b里的数据没有与a相匹配的,这样就会报No row with the given identifier exists这个错.(一句话,就是数据的问题!)
假如说,a里有自身的主键id1,还有b的主键id2,这两个字段.
如果hibenrate设置的单项关联,即使a中的id2为null值,b中id2中有值,查询都不会出错.但是如果a中的id2字段有值,但是这个值在b中主键值里并没有,就会报上面的错!
如果hibernate是双向关联,那么a中的id2为null值,但是b中如果有值,就会报这个错.这种情况目前的解决办法就是改成单项关联,或者把不对应的数据改对!
假如说,a里有自身的主键id1,还有b的主键id2,这两个字段.
如果hibenrate设置的单项关联,即使a中的id2为null值,b中id2中有值,查询都不会出错.但是如果a中的id2字段有值,但是这个值在b中主键值里并没有,就会报上面的错!
如果hibernate是双向关联,那么a中的id2为null值,但是b中如果有值,就会报这个错.这种情况目前的解决办法就是改成单项关联,或者把不对应的数据改对!
这篇关于No row with the given identifier exists 解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!