我的数据库有两个实体; 公司和个人.公司可以有很多人,但一个人必须只有一个公司.表结构如下所示.
COMPANY ---------- owner PK comp_id PK c_name
PERSON ---------------- owner PK, FK1 personid PK comp_id FK1 p_fname p_sname
在我看来,我可以删除PERSON.OWNER并通过外键导出它; 但是,我不能在不影响遗留代码的情况下进行此更改.
我已将这些建模为JPA注释类;
@Entity
@Table(name = "PERSON")
@IdClass(PersonPK.class)
public class Person
implements Serializable {
@Id
private String owner;
@Id
private String personid;
@ManyToOne
@JoinColumns(
{@JoinColumn(name = "owner", referencedColumnName = "OWNER",
insertable = false, updatable = false),
@JoinColumn(name = "comp_id", referencedColumnName = "COMP_ID",
insertable = true, updatable = true)})
private Company company;
private String p_fname;
private String p_sname;
...and standard getters/setters... …