EclipseLink жалуется на использование отображений, отличных от Basic
(например, ManyToOne
), в классе Embeddable
, используемом в качестве первичного ключа (т. Е. С пометкой EmbeddedId
).
И в соответствии со спецификацией JPA 2.0 это действительно не поддерживается:
11.1.15 Аннотация EmbeddedId
Аннотация EmbeddedId
применяется к персистентномуполе или свойство класса сущности или сопоставленного суперкласса для обозначения составного первичного ключа, который является встраиваемым классом.Встраиваемый класс должен быть аннотирован как Embeddable
. Отображения отношений, определенные во встроенном классе идентификаторов, не поддерживаются .
Если я перефразирую, класс EmbeddedId
Embeddable
должен определить каждый атрибут id для сущности, используяBasic
отображения в стандартном JPA.
Ссылки
- JPA 2.0 Спецификация
- Раздел 11.1.15 «Аннотация EmbeddedId»