Hibernate - JPA
Rascunho
Autor:Ivan Salvadori
1. Introdução ao JPA com Hibernate.
JPA ou Java Persistence API, é uma padronização da linguagem Java, para mapeamento objeto/relacional. Em outras palavras, é a padronização de um mecanismo capaz de armazenar no banco de dados as classes do modelo da aplicação que necessitam de persistência. Este mecanismo visa promover todos os recursos de banco de dados, sem a necessidade de manipulação direta de instruções SQL.
Hibernate é um framework que implementa a especificação do JPA. É o verdadeiro responsável pela execução do mecanismo de persistência de dados. JPA define as regras enquanto o
Hibernate as executa. Existem várias outras implementações do JPA, como o TopLink da Oracle.
Essas implementações são também são chamadas de Provider, ( Provedor ).
Para mostrar realmente o objetivo do JPA, imagine o seguinte cenário:
Desejo gravar no banco de dados informações de cadastros dos meus clientes.
Ilustração 1: Classe Cliente.
A forma tradicional de manipulação de banco de dados em Java trabalha diretamente com criação de conexões, elaboração de instruções SQL, atribuição de valores a estas instruções seguido da execução das querys.
Para inserir um cliente, uma classe responsável pela manipulação do banco, geralmente um
DAO, recebe o objeto do tipo Cliente, com as informações desejadas já definidas no objeto. De posse desse objeto, as informações são extraídas através dos métodos getter's, e inseridas na instrução SQL de INSERT.
String comando = "insert into Cliente (nome, cpf, rg, telefone ,data_nasc) values (?, ?, ?, ?, ?)";
Ilustração 2: Mecanismo Tradicional de Gravação.
O trecho de código abaixo mostra a forma tradicional de gravação de informações dos clientes no banco de dados MySql. java.sql.Connection con; try { con = DriverManager.getConnection("jdbc:mysql://localhost:3306/base", "user","senha");
} catch(SQLException e) { throw new RuntimeException(e);
}
String