falha ao inicializar preguiçosamente uma coleção de funções no relacionamento ManyToMany, apesar de usar o JsonIgnore
Eu tenho dois objetos de negócios com muitos relacionamentos. Estou usando um serviço REST para chamar o método DAO fornecido abaixo e obter uma lista de indicadores políticos para um evento político. No entanto, embora a piList no DAO me dê com êxito a lista de indicadores políticos, mas ainda me dê uma exceção
Failed to lazily intialize a collection of role...
através da cadeia de referência:
org.hibernate.collection.internal.PersistentBag[0]----->PolIndicator.piList.role
org.jboss.resteasy.spi.writerException
org.codehaus.jackson.map.JsonmappingException"
Eu tenho usado@JsonIgnore
na classe Indicador Político contra a propriedade do evento político, mas ainda a exceção preguiçosa acontece.
Onde eu estou errando?
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 <PolIndicator> 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 <PolEvent> eventList;
}
Código da camada DAO
public List <PolIndicator> 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();
}