Spooky Exceptions (8) – Exception Description: Entity class [class … ] has no primary key specified. It should define either an @Id, @EmbeddedId or an @IdClass


Umgebung

  • Wildfly 12
  • EE7
  • Eclipselink

Situation

Bei der Prüfung der persistence.xml beim Hochfahren des Servers wird folgende Exception geworfen:

 
Internal Exception: Exception [EclipseLink-7161] (Eclipse Persistence Services - 2.6.4.v20160829-44060b6): 
org.eclipse.persistence.exceptions.ValidationException
Exception Description: Entity class [class ...] has no primary key specified. It should define either an @Id, @EmbeddedId or an @IdClass. 
If you have defined PK using any of these annotations then make sure that you do not have mixed access-type 
(both fields and properties annotated) in your entity class hierarchy.

In unserem Fall lag dies daran, dass es sich bei der betroffenen Entität um eine Entität handelte, die aus einer anderen abgeleitet ist. Die Parent-Entity liegt in einer ausgelagerten jar Datei, die neben der Projekt-Ejb Datei verwendet wurde. In der application.xml wurde aber vergessen, die ausgelagerte Datei als ejb-Modul einzutragen. Dadurch konnte der Scanner die übergeordnete Klasse nicht erkennen und hat die in ihr enthaltene Annotation nicht auswerten können.

Du hast Fragen oder Anmerkungen? Kontakt: arndt@schoenb.de

,