Imagem de fundo

Um dos padrões fornecidos pela Java Persistence API (JPA) é...

Um dos padrões fornecidos pela Java Persistence API (JPA) é que todos os relacionamentos mapeados com *ToMany são LAZY, visto que carregar essas coleções provavelmente é mais custoso, por trazer mais objetos para a memória. Isso significa que, ao realizar uma consulta ao banco dados de uma determinada classe, a JPA recuperará todas as suas informações associadas, exceto as suas coleções. Consequentemente, quando é feita uma solicitação de acesso a uma coleção lazy, é disparada a exceção LazyInitializationException, bastante frequente no desenvolvimento de aplicações. Uma das formas de evitar a ocorrência dessa exceção é


A

injetar a coleção ao retorno da consulta com a anotação @Inject.


B

utilizar o Hibernate ao invés do JPA para implementar a camada de persistência da aplicação.


C

adicionar o parâmetro cascade = CascadeType.ALL na anotação do relacionamento da coleção.


D

transformar a coleção para o tipo java.util.ArrayList.


E

carregar a coleção utilizando Join Fetch na consulta ao banco de dados.