[ 
https://issues.apache.org/jira/browse/OPENJPA-1407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ravi P Palacherla updated OPENJPA-1407:
---------------------------------------

    Attachment: OPENJPA-1407-trunk.patch

> ClassCastException at DataCacheStoreManager.loadAll
> ---------------------------------------------------
>
>                 Key: OPENJPA-1407
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1407
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: datacache
>    Affects Versions: 2.0.0-M3
>            Reporter: Ravi P Palacherla
>            Assignee: Ravi P Palacherla
>             Fix For: 2.0.0-M3
>
>         Attachments: OPENJPA-1407-trunk.patch
>
>
> the following exception stack trace is seen in kodo :
>     [java] Caused by: java.lang.ClassCastException: com.sample.TestTableId
>      [java]  at 
> org.apache.openjpa.datacache.DataCacheStoreManager.loadAll(DataCacheStoreManager.java:461)
>      [java]  at 
> org.apache.openjpa.kernel.DelegatingStoreManager.loadAll(DelegatingStoreManager.java:121)
>      [java]  at 
> org.apache.openjpa.kernel.BrokerImpl.findAll(BrokerImpl.java:984)
>      [java]  at 
> org.apache.openjpa.kernel.BrokerImpl.findAll(BrokerImpl.java:1027)
>      [java]  at 
> org.apache.openjpa.kernel.BrokerImpl.findAll(BrokerImpl.java:913)
>      [java]  at 
> org.apache.openjpa.kernel.AbstractPCData.toRelationFields(AbstractPCData.java:217)
>      [java]  at 
> org.apache.openjpa.kernel.AbstractPCData.toNestedFields(AbstractPCData.java:184)
>      [java]  at 
> org.apache.openjpa.kernel.AbstractPCData.toField(AbstractPCData.java:78)
>      [java]  at 
> org.apache.openjpa.kernel.PCDataImpl.loadField(PCDataImpl.java:197)
>      [java]  at org.apache.openjpa.kernel.PCDataImpl.load(PCDataImpl.java:147)
>      [java]  at 
> org.apache.openjpa.datacache.DataCacheStoreManager.initialize(DataCacheStoreManager.java:343)
>      [java]  at 
> org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:111)
>      [java]  at 
> org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57)
>      [java]  at 
> org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:894)
>      [java]  at kodo.kernel.KodoBroker.initialize(KodoBroker.java:65)
> Reason behind the above exception is because when application identity class 
> is used;
> In openJPA, ObjectId is generated by enhancer generated method 
> pcnewObjectIdInstance and it returns wrapped identity class
>  like as follows.
>      public Object pcNewObjectIdInstance()
>      {
>           return new ObjectId(ApplicationIdentityIdClass.class, new AppId());
>      }
>  So, the change was not affected to OpenJPA code.
>  However, in OpenJPA derived products like Kodo, pcNewObjectIdInstance 
> returns raw application identity class instance.
>  Due to this  "oidList.add((OpenJPAId) sm.getObjectId())" throws classcast 
> exception. 

-- 
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