简体   繁体   English

如何在JPA中建立一对多关系

[英]How to OneToMany relation in JPA

I'm not sure what I'm missing to make a onetomany relationship using JPA. 我不确定使用JPA建立一对一关系时会缺少什么。

Field username_id in second table is created as MUL key, I'm expecting Foreign Key, what's wrong? 第二个表中的字段username_id被创建为MUL密钥,我期待外键,这是怎么回事?

@Entity
@Table(name="userandpassword")
public class LoginAndPassword {

    @Id
    @GeneratedValue(strategy= GenerationType.AUTO)
    private Long username_id;

    @Column(name = "username")
    private String username;

    @Column(name = "user_password")
    private String user_password;

    @OneToMany(cascade = CascadeType.ALL)
    List<GradeEntity> g;

//getters, setters

@Entity
@Table(name = "grades")
public class GradeEntity {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    @Column(name = "grade")
    private String grade;

    @Column(name = "comment")
    private String comment;

    @ManyToOne
    @JoinColumn(name= "username_id")
    private LoginAndPassword loginAndPassword;

//getters,setters

You need to add a mappedBy in the @OneToMany 您需要添加mappedBy在@OneToMany

 @OneToMany(cascade = CascadeType.ALL, mappedBy = "loginAndPassword")
 List<GradeEntity> g;

Basically you need to specify the 基本上,您需要指定

@OneToMany(mappedBy = "loginAndPassword", cascade = CascadeType.ALL)
List<GradeEntity> g;

This is a good tutorial explaining the JPA and Hibernate OneToMany relationship mapping, I highly recommend you to check it out. 这是一个很好的教程,解释了JPA和Hibernate OneToMany关系映射,我强烈建议您检查一下。

JPA and Hibernate One To Many Relationship Mapping Example with Spring Boot and MySQL 使用Spring Boot和MySQL的JPA和Hibernate一对多关系映射示例

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM