Carregar lista secundaria com EJBQL

3 respostas
JavaMania

Amigos desenvolvedores,

é possivel (usando EJBQL) com apenas uma consulta ao banco carregar 2 listas ?(no caso seria uma lista de listas)

Lembrando que a cardinalidade é de muito pra muitos.

Código na classe FinTermosInscricao

@ManyToMany(mappedBy="listaTermosInscricao")
    private List<FinDivida> listaDividas;

set e get normal...

Código na classe FinDivida

@ManyToMany(fetch = FetchType.LAZY)
	@JoinTable(name="FIN_DIVIDA_TERMOS_INSCRICAO", 
			joinColumns={@JoinColumn(name="FK_CODIGO_DIVIDA")},
			inverseJoinColumns={@JoinColumn(name="FK_CODIGO_TERMOS_INSCRICAO")})
	private List<FinTermosInscricao> listaTermosInscricao;

set e get normal...

Fiz um método para carregar minha lista de termos mas quero q esta lista retornada traga suas respectivas lista de dividas.
Código do método

@SuppressWarnings("unchecked")
	public List<FinTermosInscricao> getAllTermosByIdPessoa(Long idPessoa){
		
		Query query = em.createQuery("from FinTermosInscricao fti fti.listaDividas where fti.pessoa.id = :idPessoa "	);		
		query.setParameter("idPessoa", idPessoa);
		
		try {
			return (List<FinTermosInscricao>) query.getResultList();
		} catch (Exception e) {
			e.printStackTrace();
			return new ArrayList<FinTermosInscricao>();
		}
	}

Alguém sabe?

3 Respostas

mhnagaoka

Já tentou algo do tipo:
from FinTermosInscricao fti left join fetch fti.listaDividas where fti.pessoa.id = :idPessoa

JavaMania

Cara ja tentei sim e deu erro… nao me lembro agora qual foi a exceção, mas nao funcionou…

Andei lendo sobre isso e acho q isso é impossivel de ser feito devido ao relacionamento, caso o relacionamento fosse um pra muitos funcionaria

mhnagaoka

Cola a exceção aqui. De repente ela dá alguma idéia…

Criado 31 de julho de 2009
Ultima resposta 31 de jul. de 2009
Respostas 3
Participantes 2