Hi!
Does castor support other types than Collections when using lazy loading
on many relations?
Because as far as I can see the following happens:
A org.castor.persist.proxy.RelationCollection is created to handle the
lazy loading. That class implements Collection.
When the FieldMolder then invokes the set method (which e.g. requires a
Set or anything but a Collection), the invokation fails because of an
illegal argument (collection instead of set).
Did we get anything wrong or is this just not supported?
Thanks in advance!
Peter
Here is the stacktrace for more info:
org.exolab.castor.jdo.DataObjectAccessException: Type conversion error:
could not set value of FieldMolder for org.castor.test.jug.Master.slaves
of type org.castor.test.jug.Slave with value of type
org.castor.persist.proxy.RelationCollection
at org.exolab.castor.persist.FieldMolder.setValue(FieldMolder.java:390)
at
org.castor.persist.resolver.ManyRelationResolver.load(ManyRelationResolver.java:284)
at org.exolab.castor.persist.ClassMolder.mold(ClassMolder.java:584)
at org.exolab.castor.persist.ClassMolder.load(ClassMolder.java:554)
at org.exolab.castor.persist.LockEngine.load(LockEngine.java:343)
at
org.castor.persist.AbstractTransactionContext.load(AbstractTransactionContext.java:569)
at
org.castor.persist.AbstractTransactionContext.load(AbstractTransactionContext.java:432)
at
org.exolab.castor.jdo.engine.AbstractDatabaseImpl.load(AbstractDatabaseImpl.java:267)
at
org.exolab.castor.jdo.engine.AbstractDatabaseImpl.load(AbstractDatabaseImpl.java:225)
at
org.castor.spring.orm.CastorTemplate$1.doInCastor(CastorTemplate.java:230)
at org.castor.spring.orm.CastorTemplate.execute(CastorTemplate.java:186)
at org.castor.spring.orm.CastorTemplate.execute(CastorTemplate.java:164)
at org.castor.spring.orm.CastorTemplate.load(CastorTemplate.java:228)
at
org.castor.test.jug.dao.MasterCastorDao.getMaster(MasterCastorDao.java:13)
at
org.castor.test.jug.dao.MasterSlaveCastorDaoTest.get(MasterSlaveCastorDaoTest.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.springframework.test.context.junit4.SpringTestMethod.invoke(SpringTestMethod.java:198)
at
org.springframework.test.context.junit4.SpringMethodRoadie.runTestMethod(SpringMethodRoadie.java:252)
at
org.springframework.test.context.junit4.SpringMethodRoadie$2.run(SpringMethodRoadie.java:194)
at
org.springframework.test.context.junit4.SpringMethodRoadie.runBeforesThenTestThenAfters(SpringMethodRoadie.java:235)
at
org.springframework.test.context.junit4.SpringMethodRoadie.runWithRepetitions(SpringMethodRoadie.java:218)
at
org.springframework.test.context.junit4.SpringMethodRoadie.runTest(SpringMethodRoadie.java:192)
at
org.springframework.test.context.junit4.SpringMethodRoadie.run(SpringMethodRoadie.java:140)
at
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.invokeTestMethod(SpringJUnit4ClassRunner.java:151)
at
org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
at
org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
at
org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
at
org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
at
org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email