Problemas com relacionamento @OneToMany (retorna lista com objeto null)

2 respostas
cristianovieira

Olá, analise por favor a imagem em anexo. Levando em conta o relacionamento de grupo de usuário com grupo de funcionalidade segue os anotations:

Classe GrupoUsuario

@OneToMany(mappedBy=grupousuario, fetch=FetchType.EAGER)

@Cascade(CascadeType.ALL)

@IndexColumn(name=grfu_id)

private List grupofuncionalidade;
Classe GrupoFuncionalidade

@ManyToOne(fetch=FetchType.EAGER)

@JoinColumn(name=gpus_id, updatable=false, insertable=true)

@Fetch(FetchMode.JOIN)

private GrupoUsuario grupousuario;

Ok ele consegue buscar os dados sem problema só que na listagem de Grupo de Funcionalidade o 1º objeto da lista é NULL gerando assim uma solução secundária via código. Ja li algumas coisas a respeito e me parece que o problema está no @IndexColumn mas não achei nenhuma outra alternativa para fazer tal relacionamento. Alguém sabe como posso recuperar os dados descartando os objetos NULLs. Fico no aguardo e agradeço.


2 Respostas

Grinvon

Em GrupoUsuario tente usar @OneToMany(mappedBy=“grupousuario”) puro, sem fetch do tipo eager ou lazy e sem o indexcolumn. Em princípio, se está mapeado corretamente em GrupoFuncionalidade, então a lista em GrupoUsuario funcionaria.

cristianovieira

Olá obrigado por responder, segue abaixo a implementação solicitada:

Classe GrupoUsuario

@OneToMany(mappedBy=grupousuario)

@Cascade(CascadeType.ALL)

private List grupofuncionalidade;

Resultado: O problema foi solucionado. Muito obrigado.

Criado 28 de maio de 2011
Ultima resposta 29 de mai. de 2011
Respostas 2
Participantes 2