I have a user entity with an assistant column.
Every user has an assistant but there are circles as well.
For example : User A's assistant is User B and User B's assistant is user A.
If I use @ManyToOne and @OneToMany annotations, then, there is an infinite recursion when converting objects to JSON, even @JsonManagedReference and @JsonBackReference didn't help.
BaseEntity:
@MappedSuperclass
@Data
public class BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private long id;
@Version
private int version;
}
User:
@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;
}
Are there any opportunity in Spring to solve this?