I have following scenario:
1) A abstract @MappedSuperClass with composite PK:
@MappedSuperclass
@EqualsAndHashCode(of = { "id" }, callSuper = false)
public abstract class LocalizedDetail {
private static final long serialVersionUID = 1L;
@EmbeddedId
@Getter
@Setter
private LocalePK id;
(...)
2) This is my PK:
@Embeddable
@EqualsAndHashCode
@AllArgsConstructor
@NoArgsConstructor
public class LocalePK implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name = "ID", length = 256)
@Getter
@Setter
private String id;
@Column(name = "LOCALE", length = 16)
@Getter
@Setter
private String locale;
}
3) LocalizedDetail sub class:
@Entity
@Table(name = "BT_VALUE_OBJECT_INFO")
public class ValueObjectInfo extends LocalizedDetail {
(...)
4) Generating JPA meta model through maven using org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor plugin.
What is happening is that LocalePK metamodel is being generated without any attributes:
@Generated(value = "org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor")
@StaticMetamodel(LocalePK.class)
public abstract class LocalePK_ {
}
But if I set this LocalePK as a composite PK of any other entity that does not extends LocalizedDetail it is generated correctly. I need to create a "fake" entity class just to generate this metamodel.
Is there any known limitation to this model to generate correct PK meta-model?
Thanks,