Wildfly 16, аннотация @JsonIgnore не работает - PullRequest
0 голосов
/ 22 марта 2020

Я использую wildfly 1-, и я реализую отдых веб-службы.

@Entity
@XmlRootElement
public class Promotion implements Serializable {
    @Id
    private String acronyme;
    private String intitule;
    @OneToMany(fetch = FetchType.EAGER)
    private List<Etudiant> etudiants = new ArrayList<>();
    @OneToMany
    private List<Module> modules; 
    public Promotion() {}
    public Promotion(String titre,String acronyme) {
        this.intitule = titre;
        this.acronyme = acronyme;
        etudiants = new ArrayList<Etudiant>();
    }
    .......... etc
}

@Path(value="/promotions")
public class RestServicePromotion {
    @Inject
    private MetierItf metier;

    @GET
    @Produces({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML})
    public List<Promotion> lireTousPromotion() {
        System.out.println(metier.lireTousPromotion());
        return metier.lireTousPromotion();
    }
    .... etc
}

Когда я хочу вызвать метод lireTousPromotion (), у меня есть исключение:

Запрос обработки исключения на
/ 7EtudiantPromotionPresentationTout / rest / promotions:
org.jboss.resteasy.spi.UnhandledException:
org.hibernate.LazyInitializationException: не удалось лениво инициализировать коллекцию ролей: entite.Promotion.modules, не удалось инициализировать прокси - нет Session

Я не знаю, как я не могу srialyse поля модулей. @JsonIgnore не установлен.
Увидимся

1 Ответ

0 голосов
/ 24 марта 2020

Попробуйте использовать javax.xml.bind.annotation.XmlTransient аннотацию для поля Promotion#modules.

Дополнительная информация: http://blog.bdoughan.com/2012/04/jaxb-and-unmapped-properties.html

...