Hibernate Mapping - One to Many/One to One/etc - Explanation

Asked

Viewed 93 times

0

Basic example to understand how Hibernate mapping works.

Table Person

Sex table

inserir a descrição da imagem aqui

The mapping for these tables generates:

Sex:

public class Sexo  implements java.io.Serializable {


     private Integer idsexo;
     private String tipo;
     private Set pessoas = new HashSet(0);

    public Sexo() {
    }

    public Sexo(String tipo, Set pessoas) {
       this.tipo = tipo;
       this.pessoas = pessoas;
    }

    public Integer getIdsexo() {
        return this.idsexo;
    }

    public void setIdsexo(Integer idsexo) {
        this.idsexo = idsexo;
    }
    public String getTipo() {
        return this.tipo;
    }

    public void setTipo(String tipo) {
        this.tipo = tipo;
    }
    public Set getPessoas() {
        return this.pessoas;
    }

    public void setPessoas(Set pessoas) {
        this.pessoas = pessoas;
    }
}

Table person:

public class Pessoa  implements java.io.Serializable {
     private PessoaId id;
     private Sexo sexo;
     private String nome;
     private String email;

    public Pessoa() {
    }

    public Pessoa(PessoaId id, Sexo sexo) {
        this.id = id;
        this.sexo = sexo;
    }
    public Pessoa(PessoaId id, Sexo sexo, String nome, String email) {
       this.id = id;
       this.sexo = sexo;
       this.nome = nome;
       this.email = email;
    }

    public PessoaId getId() {
        return this.id;
    }

    public void setId(PessoaId id) {
        this.id = id;
    }
    public Sexo getSexo() {
        return this.sexo;
    }

    public void setSexo(Sexo sexo) {
        this.sexo = sexo;
    }
    public String getNome() {
        return this.nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }
    public String getEmail() {
        return this.email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

Doubt is: What is the need for the private Set pessoas = new HashSet(0);? At the time of insertion as I should proceed?

//Este excerto de código (exemplo) não chega para a criação de uma nova pessoa?
Sexo sexo = new Sexo("M");
Pessoa pessoa = new Pessoa("Joao", "[email protected]", Sexo)
PessoaDao pDAO = new PessoaDao();
pDAO.persist(pessoa);

1 answer

0

That one Set Pessoas is created on account of the 1-N relationship between Sex and People.

That one Set serves for search purposes, to get a list of objects of type Person of a particular Sex

Browser other questions tagged

You are not signed in. Login or sign up in order to post.