【问题标题】:How can i save related entity in Database using dual Many-To-Many relationship?如何使用双多对多关系将相关实体保存在数据库中?
【发布时间】:2020-04-16 13:35:35
【问题描述】:

我有两个实体:

User
Work

它们与 each-over 之间存在多对多的关系。

  @ManyToMany(
      fetch = FetchType.LAZY,
      cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH})
  @JoinTable(
      name = "user_work",
      joinColumns = @JoinColumn(name = "work_id"),
      inverseJoinColumns = @JoinColumn(name = "user_id"))
  private List<User> workUsers;

当我使用 JPA 添加新作品时:

List<UserDto> users = new ArrayList<>();
users.add(new User(something something));

WorkDto work1 = new WorkDto(1, users));

workRepository.save(workMapper.fromDto(work1));

问题:当我将我的工作实体保存在数据库中时,它不会保存用户,所以当我提取它时,工作说它没有用户。

如何将工作插入数据库并同时添加用户?我当然有 work_id 和 user_id 的互惠表

【问题讨论】:

  • 你用过@ManyToMany(mappedBy = "work")吗?

标签: java sql spring hibernate jpa


【解决方案1】:

您是否在与@Transactional 的事务中执行它?你有@Override the equals method吗?

需要更多细节,例如User 类中的关系

【讨论】:

  • 我在用户类中写了同样的东西(ManyToMany注解)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-08
  • 1970-01-01
  • 2015-12-09
相关资源
最近更新 更多