[ 
https://issues.apache.org/jira/browse/JDO-539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12534356
 ] 

Andy Jefferson commented on JDO-539:
------------------------------------

Hi Craig,

JPOX uses standard JPA1, as in the released spec, as in the JPA1 TCK. This spec 
doesn't define reuse of columns that have different types (equating a long to 
an Object of some arbitrary persistable type), or at least not from my reading 
of it. Defining persistence of a compound identity relation in that way is a 
hack. Nobody would define an Order-OrderLine in that way in Java. The Order 
object in the OrderLine would be marked as the PK (and it would have mapped-by 
on it at the other side too since its bidir), not by adding some artificial 
long.

Should we really be basing JDO-JPA TCK tests on some implementation trick, or 
just the facts in the JPA1 spec ?

If you have visibility of some JPA2 spec (which we don't have) that defines how 
they plan on supporting CompoundIdentity then i'd be happy to implement it 
(when I have time), but I haven't got such visibility.

> JPA annotations tests fail
> --------------------------
>
>                 Key: JDO-539
>                 URL: https://issues.apache.org/jira/browse/JDO-539
>             Project: JDO
>          Issue Type: Bug
>          Components: tck2
>    Affects Versions: JDO 2 maintenance release 1
>            Reporter: Michelle Caisse
>            Assignee: Michelle Caisse
>
> companyAnnotatedNoRelationshipsJPAConcrete.conf and 
> companyAnnotatedNoRelationshipsJPAConcrete.conf fail:
>  test(org.apache.jdo.tck.mapping.CompletenessTest)javax.jdo.JDOUserException: 
> One or more instances could not be made persistent
>       at 
> org.jpox.AbstractPersistenceManager.makePersistentAll(AbstractPersistenceManager.java:694)
>       at 
> org.apache.jdo.tck.mapping.CompletenessTest.localSetUp(CompletenessTest.java:79)
>       at org.apache.jdo.tck.JDO_Test.setUp(JDO_Test.java:237)
>       at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:253)
>       at 
> org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:108)
>       at 
> org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:148)
>       at 
> org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:123)
> NestedThrowablesStackTrace:
> javax.jdo.JDOFatalInternalException: Duplicate column name "PERSONID" defined 
> for table "applicationidentity0.EMPLOYEE_PHONENO_TYPE". You cannot map 
> multiple fields to the same column. The duplicated columns are specified by 
> org.apache.jdo.tck.pc.companyAnnotatedJPA.JPAAppPhoneNumber.personid and 
> org.apache.jdo.tck.pc.companyAnnotatedJPA.JPAAppPhoneNumber.person.
>       at 
> org.jpox.jdo.JPOXJDOHelper.getJDOExceptionForJPOXException(JPOXJDOHelper.java:369)
>       at 
> org.jpox.AbstractPersistenceManager.jdoMakePersistent(AbstractPersistenceManager.java:631)
>       at 
> org.jpox.AbstractPersistenceManager.makePersistentAll(AbstractPersistenceManager.java:680)
>       at 
> org.apache.jdo.tck.mapping.CompletenessTest.localSetUp(CompletenessTest.java:79)
>       at org.apache.jdo.tck.JDO_Test.setUp(JDO_Test.java:237)
>       at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:253)
>       at 
> org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:108)
>       at 
> org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:148)
>       at 
> org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:123)
> NestedThrowablesStackTrace:
> Duplicate column name "PERSONID" defined for table 
> "applicationidentity0.EMPLOYEE_PHONENO_TYPE". You cannot map multiple fields 
> to the same column. The duplicated columns are specified by 
> org.apache.jdo.tck.pc.companyAnnotatedJPA.JPAAppPhoneNumber.personid and 
> org.apache.jdo.tck.pc.companyAnnotatedJPA.JPAAppPhoneNumber.person.
> org.jpox.store.rdbms.exceptions.DuplicateColumnNameException: Duplicate 
> column name "PERSONID" defined for table 
> "applicationidentity0.EMPLOYEE_PHONENO_TYPE". You cannot map multiple fields 
> to the same column. The duplicated columns are specified by 
> org.apache.jdo.tck.pc.companyAnnotatedJPA.JPAAppPhoneNumber.personid and 
> org.apache.jdo.tck.pc.companyAnnotatedJPA.JPAAppPhoneNumber.person.
>       at 
> org.jpox.store.rdbms.table.AbstractTable.addDatastoreField(AbstractTable.java:261)
>       at 
> org.jpox.store.rdbms.mapping.RDBMSMappingManager.createDatastoreField(RDBMSMappingManager.java:840)
>       at 
> org.jpox.store.mapping.PersistenceCapableMapping.prepareDatastoreMapping(PersistenceCapableMapping.java:227)
>       at 
> org.jpox.store.mapping.PersistenceCapableMapping.initialize(PersistenceCapableMapping.java:123)
>       at 
> org.jpox.store.mapping.MappingFactory.createMapping(MappingFactory.java:93)
>       at 
> org.jpox.store.mapping.AbstractMappingManager.getMapping(AbstractMappingManager.java:234)
>       at 
> org.jpox.store.rdbms.table.ClassTable.manageFields(ClassTable.java:520)
>       at 
> org.jpox.store.rdbms.table.ClassTable.manageClass(ClassTable.java:400)
>       at 
> org.jpox.store.rdbms.table.ClassTable.initializeForClass(ClassTable.java:971)
>       at org.jpox.store.rdbms.table.ClassTable.initialize(ClassTable.java:271)
>       at 
> org.jpox.store.rdbms.RDBMSManager$ClassAdder.initializeClassTables(RDBMSManager.java:3408)
>       at 
> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesAndValidate(RDBMSManager.java:3315)
>       at 
> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManager.java:2943)
>       at 
> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RDBMSManager.java:2822)
>       at org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.java:859)
>       at org.jpox.store.StoreManager.addClass(StoreManager.java:481)
>       at org.jpox.store.StoreManager.getDatastoreClass(StoreManager.java:1089)
>       at 
> org.jpox.state.JDOStateManagerImpl.populateStrategyFields(JDOStateManagerImpl.java:661)
>       at 
> org.jpox.state.JDOStateManagerImpl.initialiseForPersistentNew(JDOStateManagerImpl.java:408)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to