当“父”表具有复合PK时,如何在JPA中建模一对多关系?

时间:2018-03-05 11:22:53

标签: java database hibernate jpa entity

JPA中的一些新内容,因此堆叠在此模型的实体定义中。

enter image description here

代理商定义如下

@Entity
@Table (name = "agents")
public class Agent {

    @Id
    @Column (name = "agent_id", nullable = false, insertable = false, columnDefinition = "serial")
    @Generated (GenerationTime.INSERT)
    private Integer id;

    @Column (name = "agent_name", nullable = false)
    private String name;

    @Column (name = "agent_referer_key", nullable = false)
    @Generated (GenerationTime.INSERT)
    private String referer_key;
}
  1. 如果agent_id和company_id是复合主键,如何描述合作伙伴关系表?

  2. 如果公司可能有多个合作关系,如何在comp_general内部合作伙伴关系?

1 个答案:

答案 0 :(得分:0)

如果父表包含复合键,则必须添加主键(自动增量)并将复合键设置为唯一+ notnull,以便您可以单独引用主键,无论您希望它在哪里都可以子表或任何其他依赖项。而且它还可以减轻你的负担,减少复合键复制的重复。