我已经在Spring Boot中为休眠编写了双向一对多关系,但是我无法通过以下方式访问db
邮政课:
@OneToMany(cascade = CascadeType.ALL,
fetch = FetchType.EAGER,
mappedBy = "post")
private Set<Comment> comments = new HashSet<>();
评论类别:
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "post_id", nullable = false)
private Post post;
@OneToMany(cascade = CascadeType.ALL,
fetch = FetchType.EAGER,
mappedBy = "reply")
<Set>Reply reply;
回复课程:
@ManyToONe(cascade = CascadeType.ALL,
fetch = FetchType.EAGER)
Comment comment;
如果运行带有这些批注“递归”输出的应用程序,则我使用了@JsonManagedreference
和@jsonbackreference
来正确地从一对多关系中获取记录。但是,当我尝试获取记录时,多对一父记录甚至不获取类型的记录都是Eager。
然后我在班级使用了@@jsonidentityinfo
,但记录For Reply分别回复评论并再次获取评论帖子,对于该帖子分别评论,再次对该评论回复则不必要地获取。
输出:
Reply:{ replyid :1,replyDesc:""
Comment :{
commentid:1,
`comment for post`commentDescription :"....."
Post:{ postId :1
Comment :[{ 1,
{ commentId :2, `stack over floow asking asking for add text`
commentDescription :"....."
}
Reply:[
{
replyId : 2,
replyDesc:"....."},
1,
{
replyId : 3,
replyDesc:"....."}
} ]
}] } } } }
预期产量:
Reply:{
comment:{
commentId:1,
commentDesc:"mmmmm"
}
}
请尽快给我解决方案。 Jsonignoreproperties也未获取预期结果。请帮帮我。