Eu tenho um relacionamento
de funcionarios e departamento
um departamento tem vários funcionarios
e um funcionario tem apenas um departamento
1:n
eu tou com dúvida em como eu mapearia a classe funcionario e departamento
classe funcionario:
@Entity(name = "Funcionario")
@Table(name = "funconario")
public abstract class Funcionario implements Autenticar {
@Id
@GeneratedValue
@Column(name = "codFuncionario")
private String codFuncionario;
private Departamento departamento;
private Endereco endereco;
private String nome,cpf,rg,usuario,senha;
private Date dataEntrada,dataSaida, dataNascimento;
private Double salario;
// gets and setters
public String getCodFuncionario() {
return codFuncionario;
}
public void setCodFuncionario(String codFuncionario) {
this.codFuncionario = codFuncionario;
}
public void setSalario(Double salario) {
this.salario = salario;
}
public void setDepartamento(Departamento departamento) {
this.departamento = departamento;
}
public Endereco getEndereco() {
return endereco;
}
public void setEndereco(Endereco endereco) {
this.endereco = endereco;
}
public Double getSalario() {
return salario;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getRg() {
return rg;
}
public void setRg(String rg) {
this.rg = rg;
}
public String getUsuario() {
return usuario;
}
public void setUsuario(String usuario) {
this.usuario = usuario;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public Date getDataEntrada() {
return dataEntrada;
}
public void setDataEntrada(Date dataEntrada) {
this.dataEntrada = dataEntrada;
}
public Date getDataSaida() {
return dataSaida;
}
public void setDataSaida(Date dataSaida) {
this.dataSaida = dataSaida;
}
public Date getDataNascimento() {
return dataNascimento;
}
public void setDataNascimento(Date dataNascimento) {
this.dataNascimento = dataNascimento;
}
// metodos
minha classe departamento:
@Entity
@Table(name="departamento")
public class Departamento {
@Id
@GeneratedValue
private Integer codDepartamento;
@Column(name="nome")
private String nomeDepartamento;
private Set<Funcionario> funcionarios;
public Departamento() {
}
public Integer getCodDepartamento() {
return codDepartamento;
}
public void setCodDepartamento(Integer codDepartamento) {
this.codDepartamento = codDepartamento;
}
public String getNomeDepartamento() {
return nomeDepartamento;
}
public void setNomeDepartamento(String nomeDepartamento) {
this.nomeDepartamento = nomeDepartamento;
}
}
eu tou com dúvida como eu mapearia o funcionario seria com o one to many? ( um funcionario só pode ter um único departamento ) ou one to one?
e departamento ( um departamento tem vários funcionaros) one to many?
obs: tou começando a usar o hibernate por agr a logica é essa?