This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I am no longer able to deploy the Customer (OneToMany Unidirectional) entity class/bean after having setup composite primary key (@IdClass) as follows:
Below is the application client output:
Deploying application in domain failed; Deployment ErrorException [TOPLINK-28018] (Oracle TopLink Essentials - 2.1 (Build b60e-fcs (12/23/2008))): oracle.toplink.essentials.exceptions.EntityManagerSetupException
Exception Description: predeploy for PersistenceUnit [TravelAgentDB-PU] failed.
Internal Exception: Exception [TOPLINK-7220] (Oracle TopLink Essentials - 2.1 (Build b60e-fcs (12/23/2008))): oracle.toplink.essentials.exceptions.ValidationException
Exception Description: The @JoinColumns on the annotated element [private java.util.Collection domain.Customer.hobbies] from the entity class [class domain.Customer] is incomplete. When the source entity class uses a composite primary key, a @JoinColumn must be specified for each join column using the @JoinColumns. Both the name and the referenceColumnName elements must be specified in each such @JoinColumn. -- Exception [TOPLINK-28018] (Oracle TopLink Essentials - 2.1 (Build b60e-fcs (12/23/2008))): oracle.toplink.essentials.exceptions.EntityManagerSetupException
I am running JDK 1.6.0_12, Glassfish v2.1 and Netbeans 6.5.1 on Windows XP platform.
I would appreciate if anyone could assist with completing the @JoinColumn and referenceColumnName since I am little baffled with JPA schema mapping still.