【发布时间】:2018-05-08 03:39:14
【问题描述】:
我确实有一个用例,两个表具有复合主键,一个表与数据库中的另一个表有关系,如何在程序级别获得这种关系,如何声明 bean 类
//表Project的复合主键
@Embeddable
@Data
public class ProjectId implements Serializable {
private static final long serialVersionUID = 12233365L;
@Column(name = "PROJECT_CODE")
private Integer pCode;
@Column(name = "BOL")
private String bol;
@Column(name = "BOLS")
private String bols;
@Column(name = "EID")
private Integer eId;
}
//项目类
public class Project implements Serializable {
private static final long serialVersionUID = 748569L;
@EmbeddedId
private ProjectId projectId;
@Column(name = "UPDATED_DATE")
private Date updatedDate;
@Column(name = "CREATED_DATE")
private Date createdDate;
}
//pcode、bol、bols、eId是复合键
// 文档表,这里有一些比较有意思的Project之间的关系p,Document是“pcode, bol, bols, eId + did”
@Embeddable
@Data
public class DocumentId implements Serializable {
private static final long serialVersionUID = 458933256L;
@Column(name = "PROJECT_CODE")
private Integer pCode;
@Column(name = "BOL")
private String bol;
@Column(name = "BOLS")
private String bols;
@Column(name = "EID")
private Integer eId;
@Column(name = "DID")
private String dId;
}
//文档表
@Entity
@Table(name = "DOCUMENT")
@Data
public class Documents implements Serializable {
private static final long serialVersionUID = 14578523695L;
@EmbeddedId
private DocumentId documentId;
@Column(name = "JUR")
private String jur;
@Column(name = "DSEQUENCE")
private Integer dSequence;
@Column(name = "UPDATED_DATE")
private Date updatedDate;
@Column(name = "CREATED_DATE")
private Date createdDate;
}
两个表的关系Document是Project的子表,
我想从项目方面建立一个关系。 从文档到项目也很好
如何映射表之间的一对一关系??
【问题讨论】:
标签: hibernate jpa spring-data-jpa