Dúvida sobre relacionamento OneToMany e ManyToOne

1 resposta
M

Boa tarde.

Tenho as seguintes classes:

Laudo
public class Laudo {
...
@OneToMany(mappedBy="laudo", fetch=FetchType.EAGER)
private List<LaudoMedico> medicos; 
...
LaudoMedico
public class LaudoMedico {
@Id
@Column(name="CODLAUDO_MEDICO")
private long id;

@ManyToOne
@ForeignKey(name="FK_LAUDO_MEDICO_CODLAUDO")
@JoinColumn(name="CODLAUDO")
private Laudo laudo;

@ManyToOne
@JoinColumn(name="CODMEDICO")
@ForeignKey(name="FK_LAUDO_MEDICO_CODMEDICO")
private Medico medico;

@Column(name="DATA_CADASTRO")
private Date dataCadastro;
...

O problema que estou tendo ao fazer uma consulta aos laudos, retornando via Criteria uma lista de laudos: se o laudo tem mais de um médico, por exemplo 3 médicos na tabela LAUDO_MEDICO, são retornados 3 vezes o mesmo laudo na lista. Entendo que deveria retornar 1 laudo e no atributo medicos retornar os 3 médicos. Tem algo errado com meu relacionamento?

1 Resposta

M

Para o caso de alguém precisar, resolvi colocando o seguindo comando antes da listagem da Criteria:

Resolveu o problema.

Criado 5 de junho de 2013
Ultima resposta 6 de jun. de 2013
Respostas 1
Participantes 1