Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

EJB 3 OneToMany with Composite Key

 
Dean Pullen
Ranch Hand
Posts: 58
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi all,

Having a problem setting up my first EJB 3 OneToMany relationship with a composite key.

Here's the error:
14:09:01,812 WARN [JDBCExceptionReporter] SQL Error: 957, SQLState: 42000
14:09:01,812 ERROR [JDBCExceptionReporter] ORA-00957: duplicate column name

The 'One' Entity:

The 'Many' Entity:

The Composite Key:



As you can see, I'm trying to map the CommsMessage to multiple CommsRecipients using the 'messageid' value found in both tables.

Any help greatly appreciated.
[ July 04, 2007: Message edited by: Dean Pullen ]
 
Mike Keith
author
Ranch Hand
Posts: 304
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Dean,

You need to make one of your messageId mappings read-only in the CommsMessageRecipient class. We talk about this problem in Chapter 8 of our book, but essentially depending upon the vendor you should make either the ManyToOne mapping to or the @Id mapping as insertable=false, updatable=false.

BTW, in future I think you are supposed to post JPA questions in the O/R forum. Thanks.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic