提问人:N7ghtm4r3 提问时间:11/12/2023 最后编辑:N7ghtm4r3 更新时间:11/13/2023 访问量:43
为什么在Springboot响应中,一些存在于不同关系中的相等值被截断?
Why are some equal values that are present in different relationship are truncated in Springboot response?
问:
我在这两个实体之间有一个@ManyToMany关系:
@Entity
@JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class,
property = "id")
public class Group {
@ManyToMany(mappedBy = "groups")
private final List<Project> projects;
}
@Entity
public class Project {
@ManyToMany
@JoinTable(
name = "projects_groups",
joinColumns = {@JoinColumn(name = "project_id")},
inverseJoinColumns = {@JoinColumn(name = "group_id")}
)
private final List<Group> groups;
}
当我得到响应时,数据以这种方式显示:
当我获取项目列表时
不同组中的相同组 ID
[
{
"id": "**0651465d52684039b9aed91f4098bb07**", // different project id
"groups": [
{
"id": "**977e779c44ed4ec78e14944ad800cc55**", // same group id
"name": "**data**",
"author": "**data**",
"description": "**data**",
"members": "**data**"
}
]
},
{
"id": "**175b39d6392c405b86efee9d43057f6d**" // different project id
"groups": [
"**977e779c44ed4ec78e14944ad800cc55**" // same group id
]
}
]
当我获取组列表时
不同组中的相同项目 ID
[
{
"id": "5fe7ead781f7459d83d8c118c812f898", // different group id
"projects": [
{
"id": "**0651465d52684039b9aed91f4098bb07**", // same project id
"name": ""**data**"",
"author": ""**data**"",
"shortDescription": ""**data**"",
"description": ""**data**"",
"version": ""**data**"",
"updates": ""**data**"",
"projectRepo": ""**data**""
}
],
},
{
"id": "977e779c44ed4ec78e14944ad800cc55", // different group id
"projects": [
{
"id": "**0651465d52684039b9aed91f4098bb07**", // same project id
"name": ""**data**"",
"author": ""**data**"",
"shortDescription": ""**data**"",
"description": ""**data**"",
"version": ""**data**"",
"updates": ""**data**"",
"projectRepo": ""**data**""
}
],
}
]
因此,当我请求组列表时,项目的重复值显示正确,但是当我请求项目列表时,组的重复值显示为第一个条目,即组的总内容,但其他条目仅显示组的 id。 我该如何解决这个问题?
答:
0赞
N7ghtm4r3
11/13/2023
#1
解决方案是删除
@JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class,
property = "id"
)
从 Group 类中正确显示数据
评论