Você está na página 1de 15

Desenvolvimento Web com

Java (Spring)
Aula 2 - 3 - JPA / Hibernate

Professor: Anderson Almada


2

Introdução
● Utilizar o JDBC é um tanto trabalhoso (Instruções SQL)

● Mapeamento objeto-relacional (ORM)


○ Automatizar as tarefas com banco de dados

● O Hibernate é uma ferramenta ORM open source e líder de mercado (Java)


3

Introdução
● Para cada banco de dados (MySQL, PostgreSQL, Oracle, etc)
○ Dialeto diferente -> configuração

● Especificação Java Persistence API (JPA).


4

ORM

Banco de Dados Linguagem Orientada a Objetos

Tabela Classe

Coluna Atributo

Registro Objeto
5

Hibernate
6

Hibernate
● DDL - Data Definition Language
○ CREATE, ALTER e DROP
● DML - Data Manipulation Language
○ INSERT, DELETE e UPDATE
● DQL - Data Query Language
○ SELECT
● DTL - Data Transaction Language
○ BEGIN TRANSACTION, COMMIT E ROLLBACK
7

Instalação do Hibernate

1. <dependency>
2. <groupId>org.hibernate </groupId>
3. <artifactId>hibernate-core-jakarta </artifactId>
4. <version>5.6.10.Final </version>
5. </dependency>
6.
7. <dependency>
8. <groupId>jakarta.persistence </groupId>
9. <artifactId>jakarta.persistence-api </artifactId>
10. <version>3.1.0</version>
11. </dependency>
8

Atualize a classe Product


● Acrescente as anotações referentes ao Hibernate para o mapeamento no
banco de dados da classe
○ @Entity -> informa que a classe é uma entidade
○ @Id -> representa a chave primária
○ @GeneratedValue -> Geração do valor do identificador único da entidade
○ @Column -> mapeamento do atributo para coluna no banco de dados

● https://pastebin.com/rSJXzbtJ
9

Configurar o jpa
● Crie um arquivo chamado persistence.xml
na pasta resources/META-INF

● O conteúdo será o seguinte:


○ https://pastebin.com/J4GbVTqW
10

Propriedade: hibernate.hbm2ddl.auto
● validate: validar o schema, não faz mudanças no banco de dados.

● update: faz update o schema.

● create: cria o schema, destruindo dados anteriores.

● create-drop: drop o schema quando ao terminar a sessão.


11

Altere a classe Main


● Execute a aplicação e verifique se a tabela foi criada:

1. public class Main {


2.
3. public static void main(String[] args) {
4.
5. EntityManagerFactory sessionFactory =
Persistence. createEntityManagerFactory ("mandacaru" );
6.
7. sessionFactory. close();
8. }
9. }
12

Implemente a ProductDAO para o Hibernate


● Assim como foi feito para a ProductJDBCDAO, vamos implementar a
ProductHibernateDAO

● https://pastebin.com/LN9MYc1H
13

Volte a Main
● Altere apenas a parte de instanciação da classe para o tipo
ProductHibernateDAO

● https://pastebin.com/symNuUq2
14

Links importantes
● https://blog.algaworks.com/tutorial-jpa/

● https://hibernate.org/
15

Dúvidas??
E-mail: almada@crateus.ufc.br

Você também pode gostar