理解onetomany和manytoone JPA

时间:2018-01-30 19:46:47

标签: java hibernate jpa spring-boot spring-data-jpa

我无法理解如何在JPA中运行oneToMany和manyToOne。对于我必须实体的样本。

@Entity
public class Customer {
    @Id
    @GeneratedValue
    private long id;
    private String name;
    private List<Skills> skillList
}

和另一个

@Entity
public class SkillList {
    private String skillName;
    private byte skillLevel;
}

如何纠正这个实体的链接?如果有人能以可访问的方式解释它。

1 个答案:

答案 0 :(得分:0)

在数据库中,通过外键实现一对多关系。 为了根据JPA规范链接Java中的两个实体,如果需要双向关联,则应使用@ManyToOne注释或@ManyToOne@OneToMany

@Entity
public class Customer {
    @Id
    @GeneratedValue
    private Long id;
    private String name;
    @OneToMany(mappedBy = "customer")
    private List<Skill> skills;
}

@Entity
public class Skill {
    @Id
    @GeneratedValue
    private Long id;
    private String skillName;
    private byte skillLevel;
    @ManyToOne
    private Customer customer;
}

它将在数据库中生成两个表。表格SKILL的列CUSTOMER_IDCUSTOMER表格相关。