Boa tarde.
Tenho as seguintes classes:
Laudo
public class Laudo {
...
@OneToMany(mappedBy="laudo", fetch=FetchType.EAGER)
private List<LaudoMedico> medicos;
...
LaudoMedico
[code]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;
…[/code]
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?