salut,
j'ai petit soucis avec une classe...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
class TItem
@OneToMany(cascade = CascadeType.MERGE)
@JoinColumn(name="parent")
@Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN)
private List<TItem> children;
@ManyToOne(cascade=CascadeType.MERGE)
@JoinColumn(name="parent")
@Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN)
private TItem parent;
@ManyToOne(cascade=CascadeType.MERGE)
@JoinColumn(name="tItemName")
private TItemName tItemName; |
j'ai un object TItem parent qui possede des childrens(2 object TItem)
je veux supprimerun object TItem de mon TItem parent(children.lenght=2) sans supprimer mon parent
donc au final je veux avoir mon object TItem avec ma list de children.lenght=1
dans ma db :
1)j'ai une table TItem qui a une FK vers parent
2)une table de jointure TItem_TItem avec 2FK, une qui pointe vers le parent, et une vers son child
mon probleme est le suivant :
Hibernate: update TItem set parent=null where parent=? and id=?
il met a null la FK de mon parent (1))
et laisse ma row dans ma table de jointure( 2))
il m'a crée une table de jointure mais je ne vois pas pourquoi, elle est inutile je trouve
dans mon code :
j'enleve un item à ma list de mon parent et je save le parent et en cascade il devrait supprimer les references de mon child
que dois-je modifier? j'ai deja essayer pas mal de truc...
merci
Partager