Assume there is a class MyObject with an java.lang.Integer constructor
and a method "public java.lang.Integer getCode()".
Also there is a second class, which will be persistet an which contains a field

@Persistent
@Externalizer("getCode")
private MyObject myObject;

If I try to persist a instance of this second class, the following error occurs:

Caused by: java.lang.ClassCastException: some.package.MyObject cannot
be cast to java.lang.Integer
       at 
org.apache.openjpa.enhance.ReflectingPersistenceCapable.pcProvideField(ReflectingPersistenceCapable.java:98)
       at 
org.apache.openjpa.kernel.StateManagerImpl.provideField(StateManagerImpl.java:2959)
       at 
org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:2774)
       at org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:39)
       at 
org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:940)
       at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:1892)
       at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1852)
       at 
org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1770)
       ... 38 more


The same is reproducable with the code of the documentation (types:
URL, Class) concerning externalizers.

Reply via email to