关于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" 
          />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值