не удалось лениво инициализировать коллекцию ролей в отношениях ManyToMany, несмотря на использование JsonIgnore
У меня есть два бизнес-объекта, имеющих слишком много отношений. Я использую сервис REST, чтобы вызвать метод DAO, приведенный ниже, и получить список политических индикаторов для политического события. Однако, хотя piList в DAO успешно дает мне список политических индикаторов, но он все равно дает мне исключение
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
в классе «Политический индикатор» против собственности политического события, но все же случается ленивое исключение.
Куда я иду не так?
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;
}
Код уровня 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();
}