@OneToMany Relacionamento 1:N
Anotação @OneToMany
Last updated
Anotação @OneToMany
Last updated
Exemplificando um relacionamento entre tabelas 1 para muitos com o uso das anotações do Hibernate. Modelando exemplo simples para demonstrar o uso do Framework de uma forma clara e direta. Segue o modelo a ser implementado.
Para exemplificar o relacionamento criaremos as classes persistentes Departamento e Funcionário. A classe Departamento possuirá o relacionamento 1:N através de um atributos do tipo lista de funcionários e a partir de uma anotação @OneToMany.
A implementação da classe persistente Funcionário fica da seguinte forma:
A implementação da classe persistente Departamento fica da seguinte forma:
As classes Funcionario e Departamento serão mapeadas em nosso banco de dados com os nomes tbFuncionario e tbDepartamento.
Nota-se que na classe Departamento foi feita a anotação @OneToMany que identifica o relacionamento 1:N, nesta anotação temos o atributo mappedBy com o valor ‘departamento’ onde este valor se refere a um atributo criado na classe Funcionario com o mesmo nome (ver classe Funcionario linha 37) este atributo serve em si para representar que na tabela tbFuncionario temos uma chave estrangeira relacionada a tbDepartamento, o atributo fetch define quando o conteúdo o atributo será recuperado da base de dados.
A anotação @Cascade indica a ação em cascata a ser empregada do objeto pai para os objetos associados. Já na classe Funcionario foi criado um atributo do tipo departamento que recebe as anotações @ManyToOne que define que existem muitos funcionários para um departamento, @Cascade define as operações em cascata, @JoinColumn que define a chave estrangeira da tabela tbFuncionario, @Fetch define como o atributo mapeado será recuperado da base de dados.