0
我有以下关系JPA多对一:删除一对多侧
Class UserAccount{
@OneToMany(mappedBy = "firstSharedBy")
private List<Images> imagesFirstShared;
}
Class Images{
@ManyToOne
@JoinColumn
private UserAccount firstSharedBy;
}
我想删除UserAccount实例。所以我这样做。
userAccount.getImagesFirstShared().clear();
entityManager.remove(userAccount);
但它抛出了以下异常
Cannot delete or update a parent row: a foreign key constraint fails (`testdb`.`Images`, CONSTRAINT `FK201C4A25D4C117` FOREIGN KEY (`firstSharedBy_USER_NAME`) REFERENCES `USERACCOUNT` (`USER_NAME`))
任何人只要有任何线索?在此先感谢
不,我不想删除。所以我将不得不遍历所有的图像对象,并设置firstSharedBy null,无论UserAccount对象是我要删除的对象。是对的吗?如果不是这样不整洁和低效,特别是当我有一个非常大的图像列表? – shazinltc 2013-04-11 07:11:34
是的,但我不介意另一种方式来做到这一点。它的冬眠:] – 2013-04-11 07:56:35
Emmm ..看起来Hibernate不如我想象的那么好。 – shazinltc 2013-04-11 09:35:40