Hello, I have a ManyToMany relation of A to B like so:

in A entity:

@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name = "special_a_to_b_table",
   joinColumns = { @JoinColumn(name = "a_id", referencedColumnName = "a_id")
},
   inverseJoinColumns = { @JoinColumn(name = "b_id", referencedColumnName =
"b_id") }
   )

private List<B> specialBList;

The special_a_to_b_table is a simple join table with foreign keys to A and
B.

I was thrilled to find that adding B instances to specialBList and merging
the A instance inserted the special_a_to_b_table records. I was horrified to
find that deleting the A instance deletes the B instances as well! I don't
want to delete the B instances but the special_a_to_b_table records
representing the join. What is the right way to do this? For now I have
removed CascadeType.DELETE from the mix and I'm using a foreign key cascade
in the database.

Thanks.

--Daryl Stultz
_____________________________________
6 Degrees Software and Consulting, Inc.
http://www.6degrees.com
mailto:[email protected]

Reply via email to