Hibernate如何避免抛出ObjectNotFoundException(某关联的对象被删除)

原文:http://blog.csdn.net/hardwin/article/details/4329652

 

下面这种情况在加载List的时候更容易出现问题。

 

我们项目里面配了很多many-to-one的关联,后台在查询数据时已经作了健全性判断,但还是经常抛出对象找不到异常:org.hibernate.ObjectNotFoundException: No row with the given identifier exists

 

因为系统给用户使用过程中库表的数据会常发生变化,最常见的是人员变化,原先引用的User 在库表没了,hibernate 多对一关联,多的这端引用的一的那端,如此引用值在一的那端找不到数据,默认就会抛出异常;而后台判断控制不了此问题。解决办法就是在many-to-one的这端加上属性:not-found=ignore

 

hibernate many-to-one的属性not-found,用来指定引用的外键不存在时如何处理:

它有两个取值,exception(默认)抛出异常,ignore 忽略

你可能感兴趣的:(Hibernate)