> I've done that, but then JPOX seems to want a primary key in the join
> table and supplies it, though there is none in the schema or metadata.
>
>     [java] [FATAL] tck - Exception during setUp or runtest:
> <javax.jdo.JDODataStoreException: Put request failed : INSERT INTO
> EMPLOYEE_PHONENO_TYPE (PHONENO,EMPID,ADPT_PK_IDX,"TYPE") VALUES (?,?,?,?)
>     [java] NestedThrowables:
>     [java] SQL Exception: 'ADPT_PK_IDX' is not a column in table or VTI
> 'TCKUSER.EMPLOYEE_PHONENO_TYPE'.>javax.jdo.JDODataStoreException: Put
> request failed : INSERT INTO EMPLOYEE_PHONENO_TYPE
> (PHONENO,EMPID,ADPT_PK_IDX,"TYPE") VALUES (?,?,?,?)
>     [java]      at
> org.jpox.store.rdbms.scostore.NormalMapStore.put(NormalMapStore.java:462)

Michelle,

This is a different issue to the one before. You previously had a M-N between 
Employee and Project - and so adding the <join> to the other end should have 
fixed that, presumably it did.

What is this relationship causing the issue ? I'm guessing a Map in Person of 
<String, String>. It is a perfectly valid thing for an impl to want to put a 
PK on any table.  It is also a valid thing for an impl to add additional 
columns where required to allow duplicates etc. Depends on the exact nature 
of this relation in question. This page
http://www.jpox.org/docs/1_1/relationships_1_N_map.html
shows what JPOX currently does for Maps. If you can identify which one you 
have, then maybe Erik or I can remember why there is an ADPT_PK_IDX column 
being added in this particular situation.


PS. Next nightly build (20050527) will *not* need the use of <join> on both 
ends of a M-N, so you can have a "mapped-by" on one end and <join> on the 
other end of the M-N as you had before.

-- 
Andy
JPOX - Java Persistent Objects

Reply via email to