Hibernate中No row with the given identifier exists问题的原因及解决

原创 2007年09月14日 01:25:00

07年9月13日

            Hibernate中No row with the given identifier exists问题的原因及解决

            产生此问题的原因:

             有两张表,table1table2.产生此问题的原因就是table1里做了关联<one-to-one>或者<many-to-one unique="true">(特殊的多对一映射,实际就是一对一)来关联table2.当hibernate查找的时候,table2里的数据没有与table1相匹配的,这样就会报No row with the given identifier exists这个错.(一句话,就是数据的问题!)

           假如说,table1里有自身的主键id1,还有table2的主键id2,这两个字段.

          如果hibenrate设置的单项关联,即使table1中的id2为null值,table2中id2中有值,查询都不会出错.但是如果table1中的id2字段有值,但是这个值在table2中主键值里并没有,就会报上面的错!

         如果hibernate是双向关联,那么table1中的id2为null值,但是table2中如果有值,就会报这个错.这种情况目前的解决办法就是改成单项关联,或者把不对应的数据改对!

           这就是报这个错的原因了,知道原因了就相应的改就行了.或许还有些人迷惑hibernate关联都配好了,怎么会出现这样的错?其实这是编程的时候出现的问题,假如说我在添加信息的时候,页面传过来的struts的formbean到dao方法中需要封装成hibernate的po(就是hibenrate的bean),要是一个个po.get(form.set())实在太麻烦了,这样一般都会写个专门的方法来封装,遇到po.get(form.set())这种情况直接把struts的formbean对象传到此方法中封装就行了,假如我有个字段是创建人id,那么这个字段是永远不会改的,我在添加的时候还调用这个方法,这个专门封装的方法是有一些判断的,假如说我判断一下,如果遇到创建人id传过来为空值,我判断如果是空值,我把创建人id设为0,但是用户表中userid是主键从1开始自增的,那么这样数据就对应不上了,一查就会出这个错了.这个错在开发刚开始的时候经常发生,因为每个人的模块都是由相应的人独立开发完成以后再整合在一起的,每个人写单独那一块的时候往往会忽略这些,所以整合的时候这些问题往往就都一下子全冒出来了....整合很辛苦,tnnd!

org.hibernate.ObjectNotFoundException: No row with the given identifier exists解决办法

hibernate-取消关联外键引用数据丢失抛异常的设置@NotFound hibernate项目里面配了很多many-to-one的关联,后台在查询数据时已经作了健全性判断,但还是经常抛出...
  • qq_36827957
  • qq_36827957
  • 2017年08月24日 10:07
  • 1585

Hibernate常见问题 No row with the given identifier exists问题的原因及解决

Hibernate中No row with the given identifier exists问题的原因及解决             产生此问题的原因:              有两张表,ta...
  • u010870518
  • u010870518
  • 2014年10月03日 20:28
  • 2142

hibernate:错误 No row with the given identifier exists

org.springframework.orm.hibernate3.HibernateObjectRetrievalFailureException: No row with the given i...
  • happy_marvin
  • happy_marvin
  • 2014年06月23日 10:47
  • 696

No row with the given identifier exists:

最近在弄一个后台项目,有用到hibernate操作数据库.写hql语句表一对一关联查询的时候报这个错误.受到了csdn上一篇博客的启发,解决了我的问题.他的博客地址:http://blog.csdn....
  • lowprofile_coding
  • lowprofile_coding
  • 2015年11月19日 02:21
  • 1193

No row with the given identifier exists 解决方法

No row with the given identifier exists 解决方法 博客分类:  异常、错误处理 HibernateFlashIDEA  No row with the...
  • dazhong2012
  • dazhong2012
  • 2015年08月28日 16:26
  • 4530

No row with the given identifier exists 解决方法(集锦)

No row with the given identifier exists 解决方法 出现异常org.springframework.orm.hibernate3.HibernateObject...
  • ylchou
  • ylchou
  • 2012年05月09日 21:44
  • 9699

收集:Hibernate中常见问题 No row with the given identifier exists问题的原因及解决

 Hibernate中No row with the given identifier exists问题的原因及解决            产生此问题的原因:             有两张表,tab...
  • eyejava
  • eyejava
  • 2007年11月21日 15:02
  • 180064

Hibernate的异常处理(No row with the given identifier exists)

Hibernate的异常处理(No row with the given identifier exists)
  • weiliming_ok
  • weiliming_ok
  • 2016年11月18日 14:08
  • 122

错误org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [com.fsti.doms.core.model.persistent.Dictionar

 [INFO ] http-8080-Processor21 2008-03-24 10:15:47,656 org.hibernate.event.def.DefaultLoadEventListe...
  • hotdogcug
  • hotdogcug
  • 2008年03月24日 10:26
  • 17452

No row with the given identifier exists问题的原因及解决

转自:http://blog.csdn.net/eyejava/article/details/1896492 
  • calljunny
  • calljunny
  • 2014年10月22日 15:28
  • 1440
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hibernate中No row with the given identifier exists问题的原因及解决
举报原因:
原因补充:

(最多只允许输入30个字)