我有以下情形:JPA @MappedSuperclass和JPAMetaModelEntityProcessor
1)一種抽象@MappedSuperclass複合PK:
@MappedSuperclass
@EqualsAndHashCode(of = { "id" }, callSuper = false)
public abstract class LocalizedDetail {
private static final long serialVersionUID = 1L;
@EmbeddedId
@Getter
@Setter
private LocalePK id;
(...)
2)這是我的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子類:
@Entity
@Table(name = "BT_VALUE_OBJECT_INFO")
public class ValueObjectInfo extends LocalizedDetail {
(...)
4)使用org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor插件通過maven生成JPA元模型。
正在發生的事情是正在沒有任何屬性生成LocalePK元模型:
@Generated(value = "org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor")
@StaticMetamodel(LocalePK.class)
public abstract class LocalePK_ {
}
但如果我設置LocalePK爲做任何其他實體的複合PK不延伸LocalizedDetail它正確生成。我需要創建一個「假」實體類來生成這個元模型。
該模型是否有任何已知的限制來生成正確的PK元模型?
謝謝,
是的,很有意義!我會標記你的答案是正確的,以幫助其他人。謝謝! PS:我改變了我的實體結構,因此這個問題不再發生。 –