A class can not be both a mapped superclass
and an embeddable.
Also note
- inheritance is currently not supported with
embeddables through JPA (although you could use a session customizer to
configure it through EclipseLink native code).
- mapped superclasses are not supported with
embeddables.
BPK should define your complete embeddable and
should be used in the mapping from A.
Cheers,
Guy
----- Original Message -----
Sent: Tuesday, January 20, 2009 11:22
AM
Subject: [eclipselink-users] NPE using
Embedded ids?
Caused by: java.lang.NullPointerException
at org.eclipse.persistence.internal.jpa.metadata.accessors.objects.MetadataAnnotatedElement.setAnnotatedElement(MetadataAnnotatedElement.java:529)
at org.eclipse.persistence.internal.jpa.metadata.accessors.objects.MetadataAnnotatedElement.(MetadataAnnotatedElement.java:84)
at org.eclipse.persistence.internal.jpa.metadata.accessors.objects.MetadataClass.(MetadataClass.java:32)
at org.eclipse.persistence.internal.jpa.metadata.accessors.objects.MetadataAnnotatedElement.isEmbedded(MetadataAnnotatedElement.java:353)
at org.eclipse.persistence.internal.jpa.metadata.accessors.classes.ClassAccessor.buildAccessor(ClassAccessor.java:160)
at org.eclipse.persistence.internal.jpa.metadata.accessors.classes.ClassAccessor.processAccessorMethods(ClassAccessor.java:509)
at org.eclipse.persistence.internal.jpa.metadata.accessors.classes.ClassAccessor.processAccessors(ClassAccessor.java:582)
at org.eclipse.persistence.internal.jpa.metadata.accessors.classes.EntityAccessor.process(EntityAccessor.java:483)
at org.eclipse.persistence.internal.jpa.metadata.MetadataProcessor.processORMMetadata(MetadataProcessor.java:443)
at org.eclipse.persistence.internal.jpa.deployment.PersistenceUnitProcessor.processORMetadata(PersistenceUnitProcessor.java:303)
at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:830)
my entities are as simple as this: @Entity
class A {
APK id;
@EmbeddedId
APK getId(){...}
}
@Entity
class B {
BPK id;
@EmbeddedId
BPK getId(){...}
}
@Embeddable
@MappedSuperclass
class APK {
//some @Basic properties here
}
@ Embeddable
class BPK extends APK{
//some other @Basic properties here
}
don't ask me why the PKs extend each other it just has to be like that
;).
i also saw an identical report on eclipselink @ dev.eclipse.org mailing list, so i wander if this is something
known and has a workaround (or maybe some tips?)
View this message in context: NPE
using Embedded ids? Sent from the EclipseLink -
Users mailing list archive at Nabble.com.
_______________________________________________ eclipselink-users
mailing
list eclipselink-users@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/eclipselink-users
|