11.07.2015 Views

Persistência com JPA2 e Hibernate - Inpi

Persistência com JPA2 e Hibernate - Inpi

Persistência com JPA2 e Hibernate - Inpi

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

17 MAPEAMENTODevemos também registrar os telefones de contato dos funcionários, sendo que cada funcionáriopode ter um ou mais telefones. Em Java, seria razoável utilizar coleções para armazenar os telefonesdos funcionários. Veja o exemplo abaixo.1 @Entity2 public class Funcionario {34 @Id @GeneratedValue5 private Long id;67 private String nome ;89 @ElementCollection10 private Collection < String > telefones ;11 }Código Java 2.16: Funcionario.javaA anotação @ElementCollection deve ser utilizada para que o mapeamento seja realizado. Nesseexemplo, o banco de dados possuiria uma tabela chamada Funcionario_telefones contendo duascolunas. Uma coluna seria usada para armazenar os identificadores dos funcionários e a outra paraos telefones. Veja uma ilustração das tabelas do banco de dados na figura abaixo.Figura 2.3: Tabelas correspondentes à classe Funcionario e ao atributo telefonesA tabela criada para guardar os telefones dos funcionários também pode ter o seu nome personalizado,assim <strong>com</strong>o os nomes de suas colunas. Para isso, devemos aplicar as anotações @Collection-Table e @Column.1 @Entity2 public class Funcionario {34 @Id @GeneratedValue5 private Long id;67 private String nome ;89 @ElementCollection10 @CollectionTable (11 name =" Telefones_dos_Funcionarios ",12 joinColumns = @JoinColumn ( name =" func_id "))13 @Column ( name =" telefone ")14 private Collection < String > telefones ;15 }Código Java 2.17: Funcionario.javawww.k19.<strong>com</strong>.br 17

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!