Spring-data-jpa lazy init 问题,有什么优雅的解决方案吗?
@Entity
public class Blog {
@Id
@GeneratedValue
private Long Id;
private String title;
private String Content;
@ManyToOne
@JoinColumn(name = "user_id")
private User user;
@OneToMany(mappedBy = "blog")
private List<Comment> comments;
@Query("SELECT u FROM User u " +
"JOIN FETCH u.blogs b " +
"JOIN FETCH u.comments c " +
"WHERE u.id = (:id)")
public User findByIdAndFetchBlogsAndCommentsEagerly(@Param("id") Long id);
我的需求是取某个用户的blogs和comments,要取回实际内容,不适用Open Session in view
我想用join fetch 但是产生了.Hibernate cannot simultaneously fetch multiple bags.但是评论和博客应该是有顺序的,比如时间顺序,我也不能改成Set.
或者有没有办法让blogRepository.findByUser()返回实际内容,而不是proxy.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论