Using EclipseLink 2.6.1/2
Eclipse 4.5.1
I'm making progress for getting lazy loadin (weaving) working.
i worked out that all my libraries get woven (also the 3rd party)
so now all my classes (including the EMF classes, which i extend) got woven.
i still get an exception.
NoSuchMethodError _persistence_set(Ljava/lang/String;Ljava/lang/Object;)V
...
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.eclipse.persistence.internal.descriptors.MethodAttributeAccessor.setAttributeValueInObject(MethodAttributeAccessor.java:247)
... 148 more
Caused by: java.lang.NoSuchMethodError: lumo.core.biooffice.impl.NativeLanguageSupportImpl._persistence_checkFetched(Ljava/lang/String;)V
at lumo.core.biooffice.impl.NativeLanguageSupportImpl._persistence_get_id(NativeLanguageSupportImpl.java)
at lumo.core.biooffice.impl.NativeLanguageSupportImpl.setId(NativeLanguageSupportImpl.java:292)
the 'funny' part is that if i decompile this Class i get this code:
public Integer getId()
{
return _persistence_get_id();
}
public void setId(Integer newId)
{
Integer oldId = _persistence_get_id();
_persistence_set_id(newId);
if (eNotificationRequired())
eNotify(
new ENotificationImpl(this, 1, 3, oldId,
_persistence_get_id()));
}
public Integer _persistence_get_id()
{
_persistence_checkFetched("id");
return this.id;
}
the missing method can be found int the top level class (obviously java reflection does not search there...
ALL the super classes are woven. my Type Hierarchy is this:
NativeLanguageSupportImpl (mapped) [mine]
JavaBeanSupport (not mapped) [mine]
EObjectImpl [EMF]
BasicEObjectImpl [EMF]
BasicNotifierImpl [EMF]
Object [Java]
what am i doing wrong?