【发布时间】:2020-04-23 21:30:02
【问题描述】:
我与用户和角色有关系,其中角色具有“一对多”关系,用户与“role_id”列具有“多对一”关系
当我在 Spring Boot 上使用关系时,当我使用 @OneToMany 和 @ManyToOne 时,我得到了无限循环数据,所以我搜索并得到了 @JsonManagedReference 和 @JsonBackRefence。这解决了我的无限循环问题。
但是当我使用@JsonManagedReference(用于角色)和@JsonBackRefence(用于用户)时,我想要的角色模型。像这样的截图:
我想要的是当我获得与我想要的角色数据相同的角色数据时(1 个屏幕截图),当我从用户那里获得数据时,我想要这样的数据截图:
这是我的榜样:
public class Role {
/*
another data
*/
@JsonManagedReference(value = "user-role")
@OneToMany(
cascade = CascadeType.ALL,
mappedBy = "role"
)
private List<User> users = new ArrayList<>();
}
和我的用户模型:
public class User {
/*
another data
*/
@JsonBackReference(value = "user-role")
@ManyToOne
@JoinColumn(name="role_id")
@OnDelete(action = OnDeleteAction.CASCADE)
private Role role;
}
我在stackoverflow和其他网站上搜索了很多次,但我没有找到任何解决方案,你能帮我解决我的问题吗,非常感谢。
【问题讨论】:
标签: spring spring-boot jpa spring-data-jpa jackson