| Summary: | EclipseLink defaults for join columns when there is a composite primary key | ||
|---|---|---|---|
| Product: | [WebTools] Dali JPA Tools | Reporter: | Karen Butzke <karenfbutzke> |
| Component: | JPA | Assignee: | Nan Li <nan.n.li> |
| Status: | NEW --- | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | P2 | CC: | brian.vosburgh, neil.hauge |
| Version: | 2.3 | ||
| Target Milestone: | Future | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| Whiteboard: | EclipseLink | ||
| Bug Depends on: | |||
| Bug Blocks: | 341835 | ||
|
Description
Karen Butzke
This is a problem related to the use of composite primary key on EclipseLink platform. Currently, if composite primary key is used, there's only one default join column pair is given with the default column names as null. We need to loop through the composite primary key to give the default join column pairs and set the default accordingly based on the EcliplseLink behavoir. EclipseLink defaults the joinColumns to id->id and id2->id2. We may need to create a new class saying EclipseLinkMappingTools to build the names of the default columns and the default referenced columns for EclipseLink platform. The last problem described in the bug description will be track with bug 314949. Based on the discussion, the implementation will be 1. keeping the current implementation for generic platform: 1) regular primary key: give the default name of column/referenced column based on the spec. 2) composite primary key: give "null" as the default name of column/referenced column 2. creating a new implementation for EclipseLink platform: 1) regular primary key: same as the generic platform 2) composite primary key: build multiple default column/referenced column names based on the composite primary key defined, e.g., id1->id1 and id2->id2 Moving JPA specific bugs to new JPA component in bugzilla. Targeting to Juno release. Changing this to enhancment wince this is a feature of EclipseLink that is beyond the JPA spec. I think this it too big to implement at this stage in 3.2. Deferred to 3.4. |