[jboss-user] [Persistence, JBoss/CMP, Hibernate, Database] - How to turn off cascading saving/deleting
j2ee4cxw
do-not-reply at jboss.com
Thu Sep 18 16:28:08 EDT 2008
I have a SITE, and a SHIPTYPE table. These two table have a many-to-may relationship (the cross reference table is SHIPTYPE_X_SITE). I created the corresponding entities Site and ShipType. For the creation of ShipType, my UI has ShipType related fields as well as a list of sites. Therefore,ShipType has a collection of Sites:
@ManyToMany(fetch=FetchType.LAZY)
@JoinTable(name="SHIPTYPE_X_SITE",
joinColumns={@JoinColumn(name="SHIP_TYPE_CD",referencedColumnName="SHIP_TYP_CD")},
inverseJoinColumns={@JoinColumn(name="ST_SITE_ID",referencedColumnName="SITE_ID")})
private List sites;
and the cross reference records are saved when I save ShipType. That is good.
On the other side, the creation of Site just have some basic Site related fields. There is no list of ShipTYPES in the UI.
However, I do have the need to retrieve list of ShipTypes associated with a site sometimes. So I added following association to Site entity bean:
@ManyToMany(fetch=FetchType.LAZY)
@JoinTable(name="SHIPTYPE_X_SITE",
joinColumns={@JoinColumn(name="ST_SITE_ID",referencedColumnName="SITE_ID")},
inverseJoinColumns={@JoinColumn(name="SHIP_TYPE_CD",referencedColumnName="SHIP_TYP_CD")})
private List shipTypes;
Once I did that, if I modify Site and save (collection shipTypes is null), all the cross reference records are gone for the given site. My question is how can I make the Site bean has the association, but not doing the cascading? Thank you very much for you help.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4177530#4177530
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4177530
More information about the jboss-user
mailing list