关于Hibernate:No row with the given identifier exists报错的解决办法

我们在用many-to-one配置关联的时候,有时关联查询会报No row with the given identifier exists的错误,究其原因是数据不完整(关联的对象值为null),产生脏数据。对此解决这个报错信息的方法一般有两个:
一、改数据
找到脏数据源头,删除或更改,不过个人不怎么建议使用这个方法。

二、在many-to-one配置的时候将策略为忽略。
由于在配置many-to-one的时候,没有配置not-found属性,该属性值就默认为Exception,也就是抛出异常,我们只将这个属性值改为ignore即可(忽略)。例如

    <many-to-one 
              name="conPo"
              class="com.keda.project.peijian.inproc.po.KedaPjInprocConsmatmain"
              fetch="select"
              lazy="false"
              not-null="false"
              **not-found="ignore"**
              column="conid"
              insert="false" 
              update="false" 
          />
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当 Django 报错 "Failed to load response data: No resource with given identifier found" 时,通常是由于尝试加载不存在的资源或标识符导致的。这可能是由于以下几个原因引起的: 1. 资源路径错误:检查你的代码中是否存在错误的资源路径。确保你尝试加载的资源文件或标识符与实际存在的资源对应。 2. 数据库记录不存在:如果你尝试从数据库加载数据并且报错指向资源标识符,可能是因为数据库中没有与该标识符匹配的记录。确保数据库中存在具有相应标识符的记录。 3. 文件丢失或损坏:如果报错指向资源文件,可能是因为该文件不存在或损坏。检查文件路径是否正确,确保文件实际存在且可访问。 4. 缓存问题:有时,浏览器或服务器缓存可能导致资源加载问题。尝试清除浏览器缓存或重新启动服务器,然后再次尝试加载资源。 5. 依赖项问题:某些资源可能依赖于其他组件或库。确保你的项目中安装了所有必需的依赖项,并且版本兼容。 6. 调试模式:在开发环境中,将 Django 设置为调试模式可以提供更详细的错误信息。在项目的配置文件(`settings.py`)中,将 `DEBUG` 设置为 `True`,这样当出现错误时,Django 将显示详细的错误页面,包括异常信息和堆栈跟踪,从而更容易找到问题所在。 如果以上方法无法解决问题,请尝试提供更多的错误信息、相关代码片段或详细的复现步骤,以便更好地理解问题并提供帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值