Olá senhores, boa tarde.
Recebi uma exceção num código legado:
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: br.com.aplicativoX.pacoteY.domain.classeA.parametrosTipo, no session or session was closed.
na classeA, o parâmetrosTipo está:
@OneToMany(mappedBy = "classeA", fetch = FetchType.LAZY)
private List<ParametroTipo> parametrosTipo;
Pesquisando pela internet, vi recomendarem trocar de Lazy para Eager e também adicionar @Transacional (para tentar manter a sessão aberta).
A primeira solução eu vi que não é recomendada, porque poderá carregar mais objetos de uma só vez do que o prudente; e a segunda solução o código não aceita. Ele dá:
"The annotation @Transactional is disallowed for this location"
Também não dá pra fazer simplesmente “lazy = false”.
============
O que vocês sugerem?
Obrigado.