尽管使用了JsonIgnore,但未能懒惰地初始化ManyToMany关系中的角色集合
我有两个业务对象有很多关系。 我正在使用REST服务来调用下面给出的DAO方法,并获得政治事件的政治指标列表。 然而,虽然DAO中的piList成功地给了我政治指标列表,但它仍然给了我一个例外
Failed to lazily intialize a collection of role...
通过参考链:
org.hibernate.collection.internal.PersistentBag[0]----->PolIndicator.piList.role org.jboss.resteasy.spi.writerException org.codehaus.jackson.map.JsonmappingException"
我在政治指标类中使用了@JsonIgnore
来对抗政治事件属性,但仍然发生了懒惰的exception。
我哪里错了?
PolEvent { @Id @Column(name="SEQ_EVENT_ID") private BigDecimal id; @Column(name="EVENT_NAME") private String eventName; @ManyToMany @JoinTable( name="POL_LINK_INDCTR" joinColumns={@JoinColumn(name="SEQ_EVENT_ID")}, inverseJoinColumns=@JoinColumn(name="SEQ_PI_ID") ) private List piList; } PolIndicator { @Id @Column(name="SEQ_PI_ID") private BigDecimal id; @Column(name="POL_IND_NAME") private String piName; @ManyToMany(mappedBy="piList") @JsonIgnore private List eventList; }
DAO层代码
public List getPiList (String eventId) { Criteria criteria = session.createCriteria(PolEvent.class); criteria.add(Restrictions.eq("id",id); PolEvent polEvent = new PolEvent(); polEvent=criteria.uniqueResult(); piList = polEvent.getPiList(); return piList(); }
您需要将注释移动到getter方法:
@JsonIgnore public List getEventList() { return eventList; }
- 在hibernate条件查询中选择“group by”的“all columns”
- 无法从另一个maven子项目调用Hibernate / QueryDSL
- @OneToMany和复合主键?
- 缺少工件javax.transaction:jta:jar:1.0.1B(问题不同,因为您可能会看到分辨率不同)
- Hibernate / persistence有哪些常见问题?
- Hibernate未知实体(不缺少@Entity或导入javax.persistence.Entity)
- org.hibernate.MappingException:未知实体:在spring orm中
- Hibernate TypeResolver
- 如何在hibernate中启用批量插入?