【发布时间】:2021-07-13 08:05:12
【问题描述】:
我想对嵌入键内的字段进行单向 OneToOne 映射。我已经尝试了 2 天。我无法继续进行。非常感谢任何帮助。以下是我的实体。在这里,我试图将 AuditMetaData 中的 VALUE_REF 列映射到 ValueMetaData 的 VALUE_ID 列。 VALUE_ID 是嵌入 ID 的一部分。
AuditMetaData.class
@Entity
@Getter
@Setter
public class AuditMetaData{
private Long id;
private String tableName
private String functionalTableName
@OneToOne
@JoinColumn(name="VALUE_REF", referencedColumnName="VALUE_ID")
private AuditValueMeta valueMeta
}
AuditValueMeta.class
@Entity
@Getter
@Setter
public class AuditValueMeta{
@EmbeddedId
private ValueMetaPK id;
private String value
}
@Embeddable
@Getter
@Setter
public class ValueMetaPK{
@Column(name="ID")
private Integer id;
@Column(name="VALUE_ID")
private String valueId;
}
请忽略任何语法错误。
【问题讨论】:
-
@AjaySankaran 我刚刚注意到,如果您需要使用一对(ID,VALUE_ID)进行识别,您将如何仅通过
VALUE_REF识别AuditValueMeta。由于ERROR: there is no unique constraint matching given keys for referenced table,您无法创建foreign key (value_ref) references AuditValueMeta(value_id)
标签: hibernate jpa hibernate-mapping