No row with the given identifier exists

出现异常org.springframework.orm.hibernate3.HibernateObjectRetrievalFailureException: No row with the given identifier exists

 

一.

No row with the given identifier exists 解决方法

有两张表,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中如果有值,就会报这个错.这种情况目前的解决办法就是改成单项关联,或者把不对应的数据改对!


二.
hibernate的一些常见的错误

No row with the given identifier exists

表示你现在查询的对象所关联的对象有问题,一般是因为数据的问题(该对象所关联的对象找不到)

Caused by: org.dom4j.DocumentException: Invalid byte 2 of 2-byte UTF-8 sequence. Nested exception: Invalid byte 2 of 2-byte UTF-8 sequence.
如果出现这行错误说明你的xml配置文件有不规范的字符,检查下。

net.sf.hibernate.MappingException: Error reading resource: hibernate/Hello_Bean.hbm.xml
如果出现这行错误说明你的hibernate的XML配置文件有错

net.sf.hibernate.MappingException: Resource: hibernate/Hello_Bean.hbm.xml not found
如果出现这行错误说明hibernate的XML配置文件没有找到,你应该把XML文件放在与你的类文件同个目录下,本文中是放在hibernateclasseshibernate目录下,也就是跟Hello_Bean.class类文件一起。

net.sf.hibernate.PropertyNotFoundException: Could not find a setter for property name in class hibernate.Hello_Bean
如果出现这行错误说明你的xml文件里设置的字段名name的值与Hello_Bean.java类里的getXXX或setXXX方法不一致。

net.sf.hibernate.HibernateException: JDBC Driver class not found: org.gjt.mm.mysql.Driver
如果出现这行错误说明你的MYSQL驱动没有加进JB库里或者不在CLASSPATH里。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
当通过外网访问时,出现"No data found for resource with given identifier"的错误提示,这可能是由于以下原因导致的。 首先,这个错误可能是由于网络连接问题引起的。检查一下网络连接是否正常,确保可以正常访问外网资源。 其次,这个错误还可能是由于接口访问权限的问题造成的。在部署到生产环境时,可能需要配置相应的权限才能正常访问接口。请检查一下接口的权限设置,确保外网可以访问到相应的资源。 另外,还有一种可能是由于前端代码中的错误导致的。引用中的代码片段展示了一个在点击提交按钮时调用`func(event)`函数的例子。如果在这个函数中有一些错误逻辑,可能会导致请求失败并显示"No data found for resource with given identifier"的错误提示。请检查一下前端代码中的逻辑,确保没有错误。 最后,根据引用中的代码片段,`async: false`参数被设置为`false`,这表明该请求是同步的。异步请求在外网访问时可能会导致一些问题。建议将该参数设置为`true`,以便使用异步请求来避免可能的问题。 综上所述,当通过外网访问时出现"No data found for resource with given identifier"的错误提示,可能是由于网络连接问题、接口访问权限、前端代码逻辑错误或同步请求等原因导致的。请仔细检查这些可能的原因,并逐一解决。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [记一次调用接口无返回的生产问题](https://blog.csdn.net/tmuffamd/article/details/128617853)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Failed to load response dataNo data found for resource with given identifier](https://blog.csdn.net/embelfe_segge/article/details/123252737)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值