That was it! Makes perfect sense now that someone else suggested it to me!
Thanks again! Bob Mike Horwitz wrote: > > Are you passing the id in the call from your jsp? If you are not, then > Hibernate will think these are new entities and save rather than update > them. > > Mike > > On 10/22/07, syg6 <[EMAIL PROTECTED]> wrote: >> >> >> Yep. I left it out for brevity. Besides, I don't think Hibernate would be >> able to do the inserts if I hadn't defined a PK, no? >> >> Anyway, here it is: >> >> @Column(name="idAAndBJoin") >> @Id @GeneratedValue(strategy = GenerationType.AUTO) >> public Long getId() >> >> Man, I got quite excited for a minute there. But alas, that's not the >> problem ... >> >> Bob >> >> >> Mike Horwitz wrote: >> > >> > Have you assigned a primary key field to your AAndBJoin object? >> > >> > Mike. >> > >> > On 10/22/07, syg6 <[EMAIL PROTECTED]> wrote: >> >> >> >> >> >> 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] >> >> >> >> >> > >> > >> >> -- >> View this message in context: >> http://www.nabble.com/Many-to-many-collection-problem-tf4670322s2369.html#a13343413 >> Sent from the AppFuse - User mailing list archive at Nabble.com. >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > -- View this message in context: http://www.nabble.com/Many-to-many-collection-problem-tf4670322s2369.html#a13364720 Sent from the AppFuse - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]