无法延迟初始化集合,无法初始化代理-没有会话

时间:2019-07-17 19:29:45

标签: java spring hibernate

我有一个意见类,其中包含对该意见和投票的赞。当我尝试为未获得特定意见的“赞”数组获取意见时,它会给出"failed to lazily initialize a collection of role: com.opinion.model.Opinion.opinionLikes, could not initialize proxy - no Session"。我试图将fetchtype更改为eager,但随后出现错误"java.lang.ClassCastException: org.hibernate.loader.plan.build.internal.returns.CollectionReturnImpl cannot be cast to org.hibernate.loader.plan.spi.Fetch"。我也尝试过使用@jsonignore但注意工作。它还为我得到的用户提供了另一个@manyToOne映射。不知道这是什么错误,请帮助,非常感谢。

这是我的实体映射片段。

opinion.java

@JsonManagedReference
    @OneToMany(mappedBy = "userOpinion")
    @JsonIgnore
    private Collection<OpinionLikeDislikeShare> opinionLikes = new ArrayList<>();

@ManyToOne
    @Cascade(CascadeType.REMOVE)
    @JoinColumn(name = "userId", insertable = false, updatable = false)
    private Users users;

OpinionLikeDislikeShare.java

    @JsonBackReference
    @ManyToOne
    @JsonIgnore
    @JoinColumn(name = "opinionId", insertable = false, updatable = false)
    @Cascade(CascadeType.ALL)
    private Opinion userOpinion;

users.java

    @JsonBackReference
    @OneToMany(mappedBy = "users")
    private List<Opinion> opinion;  

0 个答案:

没有答案