|
[
Permlink
| « Hide
]
Craig Russell added a comment - 18/Mar/06 12:34 AM
I propose to defer this for a maintenance revision of the TCK.
JDO also allows mapping Lists where there is no join table, and the ordering element is contained in the related table.
This should be investigated at the same time. The attached patch implements a test for Map mapped without a join table. The test fails:
javax.jdo.JDOUserException: One or more instances could not be made persistent at org.jpox.AbstractPersistenceManager.makePersistentAll(AbstractPersistenceManager.java:1293) at org.apache.jdo.tck.mapping.CompletenessTestMap.localSetUp(CompletenessTestMap.java:78) at org.apache.jdo.tck.JDO_Test.setUp(JDO_Test.java:236) at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:252) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at junit.textui.TestRunner.doRun(TestRunner.java:116) at org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:107) at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:147) at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:122) NestedThrowablesStackTrace: javax.jdo.JDOUserException: Unable to find the field "department" in the class "org.apache.jdo.tck.pc.companyMapWithoutJoin.Person" with a relationship to the field "org.apache.jdo.tck.pc.companyMapWithoutJoin.Department.roles" at org.jpox.store.rdbms.table.ClassTable.initializeSQLAddUniqueConstraintsStatements(ClassTable.java:1994) at org.jpox.store.rdbms.table.ClassTable.runSpecifiedCallbacks(ClassTable.java:904) at org.jpox.store.rdbms.table.ClassTable.runCallBacks(ClassTable.java:869) at org.jpox.store.rdbms.table.ClassTable.addFieldMetaData(ClassTable.java:562) at org.jpox.store.rdbms.table.ClassTable.manageClass(ClassTable.java:388) at org.jpox.store.rdbms.RDBMSManager$ClassAdder.initializeClassTables(RDBMSManager.java:2869) at org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesAndValidate(RDBMSManager.java:3214) at org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManager.java:2457) at org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RDBMSManager.java:2309) at org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.java:725) at org.jpox.store.rdbms.RDBMSManager.addClass(RDBMSManager.java:739) at org.jpox.store.StoreManager.getDatastoreClass(StoreManager.java:1142) at org.jpox.state.StateManagerImpl.populateStrategyFields(StateManagerImpl.java:764) at org.jpox.state.StateManagerImpl.<init>(StateManagerImpl.java:565) at org.jpox.state.StateManagerFactory.newStateManager(StateManagerFactory.java:105) at org.jpox.AbstractPersistenceManager.internalMakePersistent(AbstractPersistenceManager.java:1185) at org.jpox.AbstractPersistenceManager.makePersistent(AbstractPersistenceManager.java:1241) at org.jpox.AbstractPersistenceManager.makePersistentAll(AbstractPersistenceManager.java:1283) at org.apache.jdo.tck.mapping.CompletenessTestMap.localSetUp(CompletenessTestMap.java:78) at org.apache.jdo.tck.JDO_Test.setUp(JDO_Test.java:236) at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:252) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at junit.textui.TestRunner.doRun(TestRunner.java:116) at org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:107) at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:147) at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:122 Checked in patch at revision 441641
Added files for mapping List without a join table: revision: 447999
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||