首页 > 解决方案 > 从连接表 JPA 中删除列

问题描述

我目前正在尝试从连接表中删除一列,更准确地说是删除用户保存的电影。这种关系是多对多类型的,所以这就是我使用连接表的原因。下面是我的程序,但我似乎找不到错误:

用户实体(拥有方):

@Entity
@Table(name = "users_table")
public class User {
    @Column(name="user_id")
    private @Id @GeneratedValue long id;

  @ManyToMany(fetch = FetchType.EAGER)
    @JoinTable(
            name = "user_movies",
            joinColumns = {@JoinColumn(name = "user_id")},
            inverseJoinColumns = {@JoinColumn(name = "movie_id")}
    )
    private List<Movie> movies;

public User() {
movies=new ArrayList<>();
    }
}

电影实体:

@Entity
@Table(name = "movie")
public class Movie{

    @Column(name = "movie_id")
    private @Id @GeneratedValue long id;
 @ManyToMany(mappedBy = "movies",fetch =FetchType.EAGER)
    @JsonIgnore
    private List<User> users = new ArrayList<>();

}

我如何从用户那里删除电影:

   user.getMovies().remove(movie);
        ur.save(user); //ur=userRepository

任何提示将不胜感激。谢谢!

标签: javaspringjpa

解决方案


推荐阅读