主表对应数据没了,子表用HIBERNATE就删除不掉了吗?

我主子表设置了many-to-one的联系。



当删除子表的时候,子表记录主表的那个字段KEY值没有对应的记录 会报net.sf.hibernate.UnresolvableObjectException: No row with the given identifier e
xists的错误。

是不是主表的记录没了,删除子表用HIBERNATE的HQL就删除不掉呢?

你违反了数据库的规则,这个子数据已经被孤立,肯定要报错。
一般这种删除,都是分两步,请求来了删除某条数据,先去找关联的子表数据删除,再删除主表数据,

补充点,cascade这种东西尽量少用吧,配置文件不严谨,数据库操作太随意,就总会有些莫名奇妙的问题。