gpt4 book ai didi

Hibernate 不在一对多关系中插入列

转载 作者:行者123 更新时间:2023-12-04 00:47:48 26 4
gpt4 key购买 nike

我有两张表Person

@Id
@Column(name = "PERSON_ID")
@GeneratedValue
public Integer getId() {
return id;
}

@Column(name = "FIRST_NAME")
public String getFirstName() {
return firstName;
}

@Column(name = "LAST_NAME")
public String getLastName() {
return lastName;
}

@Column(name = "MONEY")
public Double getMoney() {
return money;
}

@OneToMany(cascade = CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="person")
@JoinColumn(name="person_id")
public List<Passport> getPassports(){
return this.passports;
}

一个人可以拥有多本护照:)

护照

@Id
@Column(name = "passport_id")
@GeneratedValue
public Integer getPassport_id() {
return passport_id;
}

@Column(name = "country_issue")
public String getCountry_issue() {
return country_issue;
}


@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="person_id")
public Person getPerson(){
return person;

}

在 passport 表中除了 person_id 之外的所有内容都被插入

最佳答案

保存人之前:

for(Passport passport : person.getPassports())
{
passport.setPerson(person);
}

repo.save(person);

必须明确设置 Hibernate 中的双向关系。

关于Hibernate 不在一对多关系中插入列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5216432/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com