2013-08-25 6 views
1

Я пытаюсь удалить сиротские сущности, когда мой родительский объект больше не ссылается на дочерние сущности. Вот моя сущность образецJPA/Hibername удаление сирот

@CollectionOfElements(fetch=FetchType.LAZY) 
@Cascade(value = org.hibernate.annotations.CascadeType.ALL) 
private Set<item> items; 

Я также попытался org.hibernate.annotations.CascadeType.DELETE_ORPHAN, но не успех.

Но если я изменю свою аннотацию на @OneToMany(mappedBy="foo", orphanRemoval=true), тогда она работает нормально.

Любая идея, почему он не работает с @CollectionOfElements

ответ

2

@CollectionOfElements используется для отображения совокупности основных типов или вкладываемых объектов, как описано here.
Я думаю, что это не ваш случай, поэтому просто используйте @OneToMany.