Dom*_*rio 2 java hibernate jpa spring-boot
我有一个无法解决的问题,我也尝试使用 JsonIgnore,但它也不起作用。我有一个待办事项列表,我希望我的任务输出我提供给他们的用户 ID。问题是因为每个用户都有一个任务数组,这些任务给了我一个任务和用户的无限循环。
这是我的代码:
用户:
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String name;
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL)
private Set<Task> tasks;
Run Code Online (Sandbox Code Playgroud)
任务:
@Entity
public class Task {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String name;
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "user_id", nullable = false)
private User user;
Run Code Online (Sandbox Code Playgroud)
然后我有正常的 getter 和 setter 以及 toString 方法。
使用@JsonManagedReference和@JsonBackReference
用户:
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String name;
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL)
@JsonManagedReference
private Set<Task> tasks;
Run Code Online (Sandbox Code Playgroud)
任务 :
@Entity
public class Task {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String name;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_id", nullable = false)
@JsonBackReference
private User user;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5448 次 |
| 最近记录: |