【发布时间】:2022-01-11 22:34:28
【问题描述】:
我在 User 和 Diet 类之间有一个 @ManyToMany 关系表。表 (UserIsOnADiet) 有 2 个附加列:fromDate(开始节食)和 toDate(结束)。当用户注册节食时,我想在 fromDate 属性上设置一个值,因为它有一个非空约束。我怎样才能做到这一点?这是我的代码:
类用户
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer username_id;
private String username;
@ManyToMany
@JoinTable(
name = "is_on",
joinColumns = @JoinColumn(name = "username_id"),
inverseJoinColumns = @JoinColumn(name = "diet_id"))
private Set<Diet> userIsOnADiet;
班级饮食
@Entity
public class Diet {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer diet_id;
private String diet_name;
@ManyToMany(mappedBy = "userIsOnADiet")
public List<User> users;
用户服务:
@Override
public User updateDiets(Integer id, Diet d) {
User u = this.findById(id);
Set<Diet> userDiets = u.getUserIsOnADiet();
userDiets.add(d);
// LocalDate fromDate = LocalDate.now();
// UserIsOnADiet userIsOnADiet = new UserIsOnADiet();
// userIsOnADiet.setFromDate(fromDate);
// I want to do something like this, but I cannot save User with null value on fromDate,
//and cannot set fromDate before creating a tuple in the database.
return this.userRepository.save(u);
}
【问题讨论】:
标签: java spring postgresql hibernate jpa