我的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数组时,插入将停止。新元素不会插入数据库。
我如何用新条目更新我的数据库?
1条答案
按热度按时间2nc8po8w1#
@OneToMany mapped by设置被设置为默认值“"。除非关系是单向的,否则mapped by选项是必需的。我认为您需要设置该选项才能使双向关联正常工作。所以我认为@OneToMany(mappedBy =“user”,cascade = CascadeType.ALL)将解决此问题。