我有一个意见类,其中包含对该意见和投票的赞。当我尝试为未获得特定意见的“赞”数组获取意见时,它会给出"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;