Prezados, boa tarde.
Nossa estou pesquisando bastante a respeito, mas ainda não tive nenhuma resposta que realmente funcionasse.
Estou mapeando as tabelas de um banco com JPA utilizando o EclipseLink como provider.
Em alguns casos a hierarquia dos relacionamentos é grande, e para melhorar o desempenho decidimos utilizar o Fetch Type Lazy em alguns relacionamento many-to-one.
O ambiente que estamos executando é o seguinte:
JBoss 4.2.1
Oracle
Utilizando uma aplicação J2EE, organizada da seguinte forma:
= Projeto Ear contendo:
- Projeto EJB (Localizado o mapeamento JPA)
- Projeto Web
Achei uma referência no Wiki do Eclipse Link (http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_(ELUG))
If you are developing your application in a Java EE environment, you only have to set fetch to javax.persistence.FetchType.LAZY, and EclipseLink persistence provider will supply all the necessary functionality.
Então realizei o mapamento, como do exemplo a seguir:
@ManyToOne(fetch=FetchType.LAZY)
Entretanto o Lazy não esta funcionando, pois no debug ele executa todos os selects dos relacionamentos.
Alguém tem alguma dica de algo que esteja fazendo errado?
Muito Obrigado.