Primeiros passos para mapear uma tabela simples com hibernate
Neste post vou mostrar o básico que precisa saber para mapear um objeto usando as anotações do hibernate
Última atualização em: | 4853 Visualizações
Vamos iniciar entendendo a tabela do Banco de Dados que será mapeada. Veja a estrutura da tabela PESSOA
:
Nome | Tipo | AutoIncremento |
---|---|---|
ID | BigInt | Sim |
NOME | Varchar 60 | Não |
IDADE | Int | Não |
A partir desta tabela podemos criamos a nossa classe:
public class Pessoa {
private Long id;
private String nome;
private Integer idade;
// ... getters e setters
}
Note que o objeto pessoa criado mantém tipos compatíveis em seus atributos.
Mapeando o objeto PESSOA
Passamos a anotar o objeto PESSOA
com as anotações do Hibernate JPA. Lembrando que para isso é preciso é necessário ter as dependências do hibernate em seu projeto. Em caso de dúvidas consulte: http://hibernate.org/
@Entity
A primeira anotação que usaremos será @Entity
. Esta é uma anotação de classe utilizada para indicar ao hibernate que esta classe será utilizada como uma entidade. Sua importação deve ser do pacote javax.persistence
.
import javax.persistence.Entity;
@Entity
public class Pessoa {
@Id
A anotação @Id
é utilizada para indicar qual será o identificador único da tabela. Para este exemplo será adicionado sobre o atributo id
e seu uso é obrigatório.
@Id
private Long id;
Note que para chave compostas existem outras formas de anotar o objeto, não entraremos em detalhes neste post.
@GeneratedValue
Esta anotação se refere a estratégia de geração de identificadores na tabela. Como foi utilizado no campo id
da tabela Auto_increment, podemos informar que a estratégia será de geração automática.
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
Finalizando
Ainda podemos adicionar outras anotações como @Column
que torna possível especificar mais detalhes sobre cada atributo, porém para nosso exemplo simples temos a classe pronta. Confira abaixo o resultado final:
import javax.persistence.*;
@Entity
public class Pessoa {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String nome;
private Integer idade;
// ... getters e setters
}
Não esqueca de deixar suas dúvidas nos comentários e compartilhar este post.