我不确定使用JPA建立一对一关系时会缺少什么。
第二个表中的字段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
答案 0 :(得分:1)
您需要在@OneToMany
中添加mappedBy
@OneToMany(cascade = CascadeType.ALL, mappedBy = "loginAndPassword")
List<GradeEntity> g;
答案 1 :(得分:1)
基本上,您需要指定
@OneToMany(mappedBy = "loginAndPassword", cascade = CascadeType.ALL)
List<GradeEntity> g;
这是一个很好的教程,解释了JPA和Hibernate OneToMany关系映射,我强烈建议您检查一下。
JPA and Hibernate One To Many Relationship Mapping Example with Spring Boot and MySQL