Json Spring-Hibernate-Jackson映射

Json Spring-Hibernate-Jackson映射,json,spring,hibernate,jackson,jackson2,Json,Spring,Hibernate,Jackson,Jackson2,一方面,我有两个实体建立了多对多的关系 Category.java: @ManyToMany() @JoinTable( name = "categories_articles", joinColumns = @JoinColumn(name = "categoryID", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "articleID", referencedColumnN

一方面,我有两个实体建立了多对多的关系

Category.java:

@ManyToMany()
@JoinTable(
    name = "categories_articles",
    joinColumns = @JoinColumn(name = "categoryID", referencedColumnName = "id"),
    inverseJoinColumns = @JoinColumn(name = "articleID", referencedColumnName = "id"))
private List<Article> articles = new ArrayList<Article>();
有人能帮我解决这个问题吗

我要写我自己的连载程序吗


谢谢和问候

由于您正在访问Hibernate会话对象之外的对象,因此:

  • @manytomy
    注释下添加
    @JsonIgnore

  • 添加
    @ManyToMany(fetch=FetchType.EAGER)
    -这将从数据库中加载项目

您也可以尝试
@LazyCollection(LazyCollectionOption.FALSE)
而不是
早期获取

一个非常简单的解决方案是在服务层方法之上使用
@Transactional
注释,它将会话保持打开状态直到执行结束。

FetchType.EAGER没有任何帮助,而jsonignore导致没有加载其他数据。。。我只想将与此实体相关的数据作为child加载..尝试仅在
类别
上添加
获取
。是的,我只在一侧添加了它,在另一侧添加了@JsonIgnore以防止循环加载…但是当我现在调用/articles时,我没有获得相关的类别。。。真的有那么难吗?更新后,请在文章“早期获取”中尝试
@LazyCollection
。仍然是jsonmapexception。。关于如何使用hibernate 5以及与Rest的多对多关系(jackson)!
@ManyToMany(mappedBy = "articles")
private List<Category> categories = new ArrayList<Category>();
failed to lazily initialize a collection of role ... JsonMappingException