Tim -

It looks like this was fixed in 2.0.0[1].

[1] https://issues.apache.org/jira/browse/OPENJPA-1020

Thanks,
Rick

On Thu, May 12, 2011 at 10:05 AM, tfriess <[email protected]> wrote:

>
> Rick Curtis wrote:
> >
> > Tim -
> >
> > Can you post your Entity and the full exception stack?
> >
>
> Hello Rick,
> thank you for your fast response.
>
> I went through my code once again and I think I've found the problem,
> it seems to be the FetchType of such an PersistentCollection.
> When I annotate such a List<String> with
> @PersistentCollection(fetch=FetchType.EAGER)
> I get the following Exception thrown:
>
> Exception in thread "main" <openjpa-1.2.2-r422266:898935 nonfatal general
> error> org.apache.openjpa.persistence.PersistenceException:
> java.lang.String
> incompatible with org.apache.openjpa.enhance.PersistenceCapable
>         at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:894)
>        at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:793)
>        at
>
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:986)
>        at
> org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:278)
>        at
>
> org.apache.openjpa.jdbc.sql.SelectImpl$SelectResult.load(SelectImpl.java:2413)
>        at
> org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:272)
>        at
>
> org.apache.openjpa.jdbc.kernel.InstanceResultObjectProvider.getResultObject(InstanceResultObjectProvider.java:59)
>        at
> org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:36)
>        at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1228)
>        at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:990)
>        at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:805)
>        at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:775)
>        at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:771)
>        at
> org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:517)
>        at
> org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:255)
>        at
> org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:294)
>        at testing.Test.main(Test.java:55)
> Caused by: java.lang.ClassCastException: java.lang.String incompatible with
> org.apache.openjpa.enhance.PersistenceCapable
>         at
>
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.setInverseRelation(JDBCStoreManager.java:408)
>        at
>
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(JDBCStoreManager.java:380)
>        at
>
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:278)
>        at
>
> org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:111)
>        at
>
> org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57)
>        at
> org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:913)
>        at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:871)
>        ... 16 more
>
>
> But if I use @PersistentCollection(fetch=FetchType.LAZY) or only
> @PersistentCollection,
> everything works fine.
>
> Does this mean that such a PersistentCollection only can be loaded "lazy"
> in
> OpenJPA 1.x?
> Or is there any way to load such a List "eager"?
>
> Thank you!
>
> Kind regards,
> Tim
>
> --
>
-- 
*Rick Curtis*

Reply via email to