Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] NPE using Embedded ids?

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 -----
From: konkere
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

Back to the top