在使用Seam的EntityHome.remove()方法时报错: deleted entity passed to persist:[com.xxx.xxx.Person#<null>]
单纯看错误信息,还以为是对象没有传进去。但调试之后发现personHome里面的对象是正确的。
后来测试了几次发现是因为所要删除的对象隶属于另外一个对象,那么单纯删除此对象时,会报这个错误,因为此时的约束关系还未解除。
例如:
我要删除一个Person实体,而这个实体是属于一个组织Department的,
那么我应该在删除之前先执行: personHome.getInstance().getDepartment.getAllPersons().remove(personHome.getInstance()),
然后再执行personHome.remove().