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