我尝试将多个时间戳插入表“时间”。每个时间戳包含“竞争对手”表中条目的 ID。每次我在数据库中创建新的时间戳时,我也会获得一个新的竞争对手条目。
您能告诉我为什么我总是收到新条目以及如何防止这种情况发生吗?
竞争对手
@Entity
@Table(name="competitor")
public class Competitor extends BaseEntity{
private String firstName;
private String lastName;
private String birthday;
@Column(name="firstName")
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
@Column(name="lastName")
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
@Column(name="birthday")
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
}
时间
@Entity
@Table(name="time")
public class Time extends BaseEntity{
private String route;
private Competitor competitor;
private String time;
@Column(name="route")
public String getRoute() {
return route;
}
public void setRoute(String route) {
this.route = route;
}
@ManyToOne(cascade = CascadeType.ALL)
public Competitor getCompetitor() {
return competitor;
}
public void setCompetitor(Competitor competitor) {
this.competitor = competitor;
}
@Column(name="time")
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
}
最佳答案
您需要@OneToOne
注释,例如:
@OneToOne
@JoinColumn(name = "competitor_id")
private Competitor competitor;
关于java - Hibernate 不合并条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37276399/