Nesse exemplo vamos salvar, alterar, consultar por id e apagar um registro de pessoa, utilizaremos o banco de dados MySQL.
Lembre de adicionar as bibliotecas do Hibernate e driver do MySQL.
Vamos criar uma Entity para representar a tabela Pessoa abaixo:
Criando a entity para representar a tabela Pessoa:
Vamos criar o arquivo persistence.xml .
Vamos criar uma classe PessoaDAO que possui os métodos para manipular (salvar, atualizar, apagar e consultar por id) um objeto Pessoa.
O método salvar recebe o objeto Pessoa que será salvo, neste exemplo usaremos este método salvar uma nova pessoa ou atualizar os dados de uma nova pessoa.
Mas como sabemos quando temos que salvar e quando tem que atualizar, basta olhar o atributo id da classe Pessoa, se o id for null significa que é um novo objeto que ainda não foi salvo no banco de dados, então utilizaremos o método persist da EntityManager para salvá-lo, caso o id tenha algum valor então significa que o objeto já foi salvo anteriormente portanto ele deve ser atualizado então utilizaremos o método merge da EntityManager para atualiza-lo.
Note que como vamos salvar ou atualizar os dados, precisamos criar uma transação, com o método getTransaction() do EntityManager obtemos um objeto EntityTransaction com ele podemos iniciar a transação através do método begin(), finalizar a transação com sucesso através do método commit() ou desfazer as alterações em caso de erro com o método rolback(). Este mesmo conceito de transação será utilizado no método excluir.
O método excluir não precisa receber todos os dados da Pessoa, recebendo apenas o seu ID através do parametro Long id, podemos utilizar o método find do EntityManager para consultar os dados da Pessoa, depois com o objeto Pessoa consultado podemos usar o método remove do EntityManager para apagar os dados da Pessoa.
O método consultarPorId recebe um objeto Long chamado id, com o ID da tabela Pessoa, utilizando o método find do EntityManager passamos a classe da entidade Pessoa.class e seu id para que possamos consultar os dados da Pessoa.
Vamos criar uma classe PessoaDAOTeste para testarmos os métodos da classe PessoaDAO:
Neste teste vamos criar um objeto pessoa e salva-lo, depois vamos altera o nome da pessoa, vamos consultar a pessoa pelo id e no final vamos apagar o registro da pessoa.