Hello listers. I have posted on this before. I got no replies, either here or over at hibernate.org. So I parked the issue and moved on but now I have to deal with it. Because of my limited Hibernate knowledge, I am not even really sure of what things to try anymore. Can someone shed some light on this problem for me?
I have two Objects, ObjectA and ObjectB. They have a ManyToMany relationship with attributes, meaning they have a join table with IdObjectA and IdObjectB as foreign keys and some attributes. As recommended by the Hibernate docs, I create a class, AAndBJoin we'll call it. Here's what it all looks like: public class ObjectA { private Set<AAndBJoin> aAndBJoins; @OneToMany(mappedBy="ObjectA", fetch = FetchType.EAGER, cascade = { CascadeType.ALL }) public Set<AAndBJoin> getAAndBJoins () public class ObjectB { private Set<AAndBJoin> aAndBJoins; @OneToMany(mappedBy="ObjectB") public Set<AAndBJoin> getAAndBJoins () public class AAndBJoin { private ObjectA objectA; private ObjectB objectB; @ManyToOne @JoinColumn(name="idObjectA") public ObjectA getObjectA() @ManyToOne @JoinColumn(name="idObjectB") public ObjectB getObjectB() The problem is that when I save an ObjectA, with its associated Set of AAndBJoin Objects, ONLY inserts are done in the AAndBJoin table in the database, any existing information is NOT being updated or deleted. So if I start off with 2 AAndBJoin Objects and add 1, instead of having 3 I now have 5 because 3 inserts are performed, one for each AAndBJoin Object sent to the FormController from the .jsp, but the original 2 are left untouched. Do I have to play with the AAndBJoin Object, like add Cascade information or something else? In the example there was none, and I have tried putting Cascade.ALL for the two getters, no dice. Or perhaps I have to do something manually, like call session.flush() or something, to get Hibernate to (worst case scenario) delete the info in the AAndBJoin table first before inserting? I am not sure even how to do this since Spring is in the mix. I have tried debugging Hibernate to see what's going on but since Spring is involved and uses Reflection and AopProxies and all kinds of stuff I haven't a clue about, I never actually see any Hibernate code executed ... I would really appreciate some help on this one! Bob -- View this message in context: http://www.nabble.com/Many-to-many-collection-problem-tf4670322s2369.html#a13341640 Sent from the AppFuse - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]