Olá desenvolvedores, se você já baixou as dependências do projeto para trabalharmos com JPA e Hibernate, então é hora de procedermos com o primeiro mapeamento. O JPA é a especificação do Java que descreve uma interface comum para frameworks voltados para a persistência de dados, como o Hibernate.
O Hibernate é um framework ORM que utiliza o mapeamento de classes Java para tabelas de banco de dados relacional. O ORM – Object Relational Mapper (Mapeamento Objeto-Relacional) compreende o mapeamento de uma representação de dados de um modelo Orientado a Objetos para um modelo relacional.
ENTIDADE PESSOA
Lembrando que a estruturação do projeto objetivando mantê-lo organizado é de suma importância principalmente pensando em termos de manutenção futura. Nesse sentido, dentro da pasta de Códigos Fonte src/main/java crie o pacote de entidades br.com.entidades.
Clique com o botão direito do mouse sobre o pacote que acabou de criar >> New >>Class. Atribua a classe o nome de “Pessoa”. O próximo passo é a estruturação da “classe Pessoa” com a criação dos atributos e seus respectivos métodos Getter … and Setter.
O primeiro atributo, que inclusive será do tipo Long é o identificador ID. Long são tipos de dados alfanuméricos com tamanho variável, seu comprimento máximo pode chegar até 2GB. Teremos ainda do tipo String os atributos “nome” e “sobrenome”, e também os atributos “idade” e “dataNascimento” do tipo Integer e Date respectivamente.
private Long id;
private String nome;
private String sobrenome;
private Integer idade;
private Date dataNascimento;
Ainda faz parte da classe, o método construtor vazio, que é também um padrão do Java.
O banco de dados usa o identificador estabelecido para tonar único cada registro, e para que o Java diferencie esses registros em tempo de execução é preciso gerar o HashCode() and equals() para o “id”. Assim, clique com o botão direito do mouse em uma área vazia >> Source >> Generate HashCode() and equals().
Em termos técnicos, porém de forma bem sucinta, o hashCode é uma ferramenta da JVM – Java Virtual Machine usada para montar a tabela de hash de modo correto. E o equals nos permite determinar se os objetos são iguais.
Importante também para toda classe Java é implementar na assinatura da classe o Serializable.
MAPEAMENTO
Agora precisamos transformar a classe criada em uma tabela do banco de dados e para isso utilizaremos a anotação @Entity do pacote javax.persistence, que identificará e a transformará em uma tabela.
@Entity
Anotaremos também uma primary key @ID antes do primeiro atributo, bem como a anotação @GeneratedValue() cuja estratégia implementa um gerenciador de chave primária automático. Estas compreendem as anotações geradoras da sequência.
@ID
@GeneratedValue(strategy = GenerationType.AUTO)
O atributo do tipo Date, “dataNascimento”, também deverá receber uma anotação temporal para apontar que o dado que o campo correspondente receberá será ou do tipo data e hora ou somente data.
@Temporal(TemporalType.DATE)
String Date dataNascimento;
EM POUCAS PALAVRAS
É importante observar que estas configurações compreendem a parte básica do JPA, e que, portanto, você deve dominar. É o mapeamento básico e que constitui a estrutura inicial do projeto, sem os quais não tem como avançar.