spring-data-jpa - Spring boot JPA多对多关联问题
问题描述
我在两个实体用户和表单之间有多对多的关系。我的课在下面。用户.java
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
.....
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "userformtable", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "form_id"))
private List<forms> userform = new ArrayList<forms>();
// CONSTRUCTOR AND GETTER SETTER
}
AND forms.class
public class forms {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column(unique = true)
private String formname;
@ManyToMany(mappedBy = "userform", fetch = FetchType.LAZY)
private List<User> form = new ArrayList<User>();
}
我有关系船的数据库表如下
user_id | form_id
--------------------
1 | 4
--------------------
1 | 6
-------------------
1 | 3
------------------
1 | 7
===================
3 | 3
====================
3 | 7
===================
当我尝试使用 spring data jpa 获取所有用户时,我没有得到 id 为 3 的用户对象。我只得到用户 id。这是我的 json 回复。
0: {…}
1: 3 (this record is for user id 3)
2: {…}
谁能帮我这个?
提前致谢。
解决方案
我已经通过在表单类中使用 @JsonIgnore 注释来解决。
@ManyToMany(mappedBy = "userform", fetch = FetchType.LAZY)
@JsonIgnore
private List<User> form = new ArrayList<User>();
推荐阅读
- sql - 尝试对项目进行排名时出现 row_number 错误
- javascript - 使用 shareData 使用共享 API 共享 textArea 内容
- php - 处理时是否可以检查/var_dump woocommerce_checkout_create_order_line_item?
- regex - 使用正则表达式验证大于 1 的小数
- python - 如何从文件夹中读取多个文件并根据条件在文件中添加新行
- android - Android - 为什么 Recycler 视图未显示在设备上?. 我认为我的代码是正确的,但视图没有显示
- python - 如何在 EEL 中使用 jinja2 将变量传递给 html
- c++ - 使用 -fsanitize=undefined 时出错:运行时错误:引用绑定到未对齐的地址
- python - 删除熊猫数据框中以“http”开头的单词
- airflow - 气流/如何删除角色?