Sping Boot JPA OneToMany更新不工作

2hh7jdfx  于 5个月前  发布在  其他
关注(0)|答案(1)|浏览(85)

我的Sping Boot 应用程序使用JPA、Hibernate和MySQL数据库。
我想保存用户的工作时间。
User.java

@Entity(name = "User")
@Table(name = "user")
@DynamicUpdate
public class User {

@JsonProperty("workingTimes")
@OneToMany( cascade = CascadeType.ALL)
private List<WorkingTime> workingTimes;

...
}

字符串
WorkingHours.java

@Entity(name = "WorkingTime")
@Table(name = "working_time")
public class WorkingTime {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@JsonProperty("id")
private int id;

...
}


所以这里有一个由hibernate创建的第三个表。
我可以存储用户的工作时间,链接设置在第三个表中。
但是,当我发布一个包含现有和新用户/工作时间的JSON数组时,插入将停止。新元素不会插入数据库。
我如何用新条目更新我的数据库?

2nc8po8w

2nc8po8w1#

@OneToMany mapped by设置被设置为默认值“"。除非关系是单向的,否则mapped by选项是必需的。我认为您需要设置该选项才能使双向关联正常工作。所以我认为@OneToMany(mappedBy =“user”,cascade = CascadeType.ALL)将解决此问题。

相关问题