【发布时间】:2020-01-20 18:00:49
【问题描述】:
我有一个带有助手列的用户实体。
每个用户都有一个助手,但也有圈子。
例如:用户 A 的助手是用户 B,用户 B 的助手是 用户 A。
如果我使用@ManyToOne 和@OneToMany 注解,那么在将对象转换为JSON 时会出现无限递归,即使是@JsonManagedReference 和 @JsonBackReference 没有帮助。
基础实体:
@MappedSuperclass
@Data
public class BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private long id;
@Version
private int version;
}
用户:
@Entity
@AllArgsConstructor
@NoArgsConstructor
@Data
@EqualsAndHashCode(callSuper = true)
@Table(name = "Users")
public class User extends BaseEntity {
@Column
private String username;
@Column
private String name;
@JsonManagedReference
@ManyToOne
@JoinColumn(name = "assistant_id")
private User assistant;
@JsonBackReference
@OneToMany(mappedBy = "assistant")
private Set<User> assistants;
}
Spring 有机会解决这个问题吗?
【问题讨论】:
-
发布您的代码!