OK, this is too common a scenario to be this confusing. I have two tables in a database, we will call them Table A and Table B
Table A has an ID field as the primary key and other information Table B has a composite key of three fields ? let?s call them column B1, B2, and B3 and of course other information. The relationship of the tables is that an entity in Table A can point to zero or more entities in Table B. And multiple entries in Table A can reference the same entity in table B Table B knows nothing about Table A. I have to create my own tables (using the @Table) to appease the DBA. Anyway, I create a join table ? lets call it A_Joins_B with columns ID, B1, B2, and B3. In my Entity Bean I have: @OneToMany (cascade=CascadeType.ALL, fetch=FetchType.LAZY) @JoinTable (name=?A_joins_B?, [EMAIL PROTECTED](name=?ID?), [EMAIL PROTECTED](name=?B1?), @JoinColumn(name=?B2?), @JoinColumn(name=?B3?)} (p.s. I did try a @ManyToMany as well with the same results) As soon as I receive a series of records to update ( they arrived batched up in a big collection ) I iterate through the collection, convert each to an entity bean, and then attempt to merge them into the database with the em.merge(obj); This works until I encounter an update that contains a B entity that has already been referenced by a previous A entity. Then I get the org.hibernate.NonUniqueObjectEception with a message of: ?a different object with the same identifier value was already associated with the session: [EMAIL PROTECTED] ]? What am I missing? View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3993985#3993985 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3993985 _______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
