Sorry for the delay. So the issue here is that the placement of the @Id annotation is used to determine the access type (field or property e.g. getter). As there is no id attribute in the class, it defaults to property and tries to find the annotations on the getter/setter and can't find them. An easy way to fix this issue is to add @Access(AccessType.FIELD) to your mapped super class. The fact that this mechanism relies on the placement of the @Id annotation is documented but indeed in the case of a mapped super class without id, this mechanism doesn't work very well. But as in the end, it will be defined by the placement of the @Id annotations on the child classes, I think requiring the user to do it explicitly is probably our only solution. |