休眠一对多示例进行发布和评论

时间:2018-08-22 11:11:16

标签: hibernate jpa

我已经在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也未获取预期结果。请帮帮我。

0 个答案:

没有答案