Pessoal, to com umá dúvida aqui sobre como configurar uma relacionamento numa classe:
Classes:
- Medico
- Laudo
- LaudoMedico
- LaudoMedicoPK
Na base de dados, a tabela LAUDO_MEDICO relaciona os médicos que podem acessar determidado laudo. Ou seja, uma laudo pode ser acessado por vários médicos. Preciso criar um atributo List medicos dentro da classe Laudo, mas especificamente, preciso saber se o laudo está liberado para outros médicos.
Nunca fiz esse tipo de relacionamento com classes onde há chave composta. Esse é um código já pronto na empresa, estou fazendo melhorias e alterações.
Se tiver que mudar geral, aceito ideias… seguem os modelos:
Classe Laudo:
[code]@Entity(name = “LAUDO”)
public class Laudo {
@Id
@Column(name = “CODLAUDO”)
private Long id;
// outros atributos
...
// Que tipo de relacionamento?
List<Medico> medicos;
...
// getter e setters[/code]
Classe Medico
@Entity(name = "MEDICO")
@SequenceGenerator(name = "SEQMEDICO", sequenceName = "SEQMEDICO")
public class Medico implements Serializable {
/** The id. */
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "SEQMEDICO")
@Column(name = "CODMEDICO")
private Long id;
...
// outros atributos...
...
// getters e setter
Classe LaudoMedicoPK
[code]@Embeddable
public class LaudoMedicoPK implements Serializable{
@Column(name = “CODMEDICO”)
private Long id;
@Column(name = "CODLAUDO")
private Long idLaudo;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getIdLaudo() {
return idLaudo;
}
public void setIdLaudo(Long idLaudo) {
this.idLaudo = idLaudo;
}
}
[/code]
CLasse LaudoMedico
[code]@Entity(name = “LAUDO_MEDICO”)
public class LaudoMedico {
@Id
private LaudoMedicoPK laudoMedico;
public LaudoMedicoPK getLaudoMedico() {
return laudoMedico;
}
public void setLaudoMedico(LaudoMedicoPK laudoMedico) {
this.laudoMedico = laudoMedico;
}
}[/code]