java - 从连接表 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
任何提示将不胜感激。谢谢!
解决方案
推荐阅读
- html - HTML 中输入和按钮的使用
- docker - Docker 从工件中拉取
- c# - 删除表达式树中的强制转换操作
- python - 将两个直流电机的值转换为角度(单输出)
- dart - 在 Dart 中的迭代器上创建 sum、min、max 属性
- javascript - 如何使用 Koa-static 在 html 文件中添加 React 组件?
- python - 在 django 中找不到页面不应该上升的错误
- wordpress - Woocommerce 特定类别的总库存数
- r - 是否可以在 xaringan 演示文稿中包含 pdf 图像?
- windows-subsystem-for-linux - powershell.exe -command get-clipboard 如果重定向会修改我的终端字体