Galera
Tenho um POJO chamado Area que possui um relacionamento OneToMany com o POJO Central, ou seja, uma área possui diversas centrais.
Estou utilizando o Spring com o Hibernate e como todos sabem, a estratégia default do Hibernate para fetch é o Lazy Load.
Por conta disso estava tomando o erro abaixo:
failed to lazily initialize a collection of role: br.com.teste.domain.Area.centrais, no session or session was closed
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: br.com.teste.domain.Area.centrais, no session or session was closed
Para resolver o problema eu alterei no POJO Area, mais especificamente no relacionamento OneToMany com Central, a estratégia para EAGER.
@OneToMany(mappedBy=“area”, fetch=FetchType.EAGER)
Com essa alteração eu fixei a carga das centrais dentro da área para EAGER mas eu gostaria de poder fazer essa escolha em runtime, ou seja, em determinados casos utilizar o LAZY e em outros o EAGER.
Alguém sabe como fazer isso?