JPA Java Persistence API. Prof. Ramon Chiara



Documentos relacionados
Mapeamento Lógico/Relacional com JPA

Criar uma aplicação JPA2 com EclipseLink e H2

JPA: Persistência padronizada em Java

UFG - Instituto de Informática


Java Persistence API. Entity Entity Campos e Propriedades Entity Chaves Primárias Entity Associações

Introdução à JPA-Java Persistence API

Antes de iniciar execute o script do banco de dados no SQLYOG ou outra ferramenta de sua preferência

Java Persistence API (JPA)

Introdução. Configuração. Padrão POJO. Framework Pesistência de. Mapeamento Annotation. Objetos. Persistência. Java. Objetos. Prof.

HIBERNATE Criando um projeto em Java + Hibernate do zero

Java Persistence Query Language JPQL

Hibernate. Mapeamento O/R Marcio Aguiar Ribeiro

JPA e Hibernate por Thiago Faria e Normandes Junior

Aula 2 - Revisão de JPA (Java Persistence API)

Curso de Java. Acesso a banco de dados através do Hibernate. Todos os direitos reservados Klais

JPA Passo a Passo. Henrique Eduardo M. Oliveira henrique@voffice.com.br. Globalcode Open4Education

JPA Demonstração das estratégias optimistic locking e pessimistic locking

Tecnologias Java JDBC. Marcio Seiji Oyamada

Hibernate. Mapeamento Objeto-Relacional. Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior

JPA - Java Persistence API. Entity. Entity Campos e Propriedades Entity Chaves Primárias Entity Associações. Entity Manager

JPA - Java Persistence API. Entity. Entity Campos e Propriedades Entity Chaves Primárias Entity Associações. Entity Manager

Persistência de dados com JPA. Hélder Antero Amaral Nunes

Evento.java. package dominio;

JDBC. Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos.

Persistência de Dados em Java com JPA e Toplink

Aula 2 - Revisão de JPA (Java Persistence API)

Acesso a banco de dados

Hibernate na sua aplicação JavaWeb

Desmistificando o Hibernate Envers em 10 passos

Mecanismo de Persistência

JPA Demonstração das Estratégias Optimistic Locking e Pessimistic Locking

Auditando persistência com JPA

Persistência com JPA2 e Hibernate TREINAMENTOS

Padrão J2EE Data Access Object (DAO)

Drive MySql de conexão para Eclipse

Persistindo dados com TopLink no NetBeans

UNIVERSIDADE FEDERAL DO PIAUÍ DEPARTAMENTO DE COMPUTÇÃO DISCIPLINA: ENGENHARIA DE SOFTWARE II PROFESSOR: ARMANDO SOARES

Acesso a Banco. Conexão em Java. Conexão em Java. Programação Orientada a Objetos Profa. Cristiane e Prof. Daniel

JDBC. Prof. Márcio Bueno

Aula 4. Carlos Eduardo de Carvalho Dantas

JPA 2: os novos recursos inspirados no Hibernate

JPA (Java Persistence API) Marcos Kalinowski

Desvendando o Hibernate

UNIVERSIDADE FEDERAL DE JUIZ DE FORA DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO. Filipe Bastos

Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática Especialização em Desenvolvimento de Sistemas para Web

Parte II Persistência entre Modelos de Dados

Banco de Dados. Banco de Dados. Alcides Pamplona Alcides Pamplona Linguagem de Programação CESBD 2010

JDBC (Java Database Connectivity) Padrão de Projeto DAO (Data Access Object) Roteiro para instalação do banco de dados e do driver JDBC

De forma simples, para a execução de comandos SQL com JDBC, precisa-se da instancia de três classes Java. São elas: Nome da classe Função

Manipulação de Banco de Dados com Java 1. Objetivos

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro Maio/ 2015

Módulo 03. Mapeando Associações/Relacionamentos. Raphaela Galhardo.

JPA Com Hibernate. Paulo Ricardo Lisboa de Almeida. Dados Transientes e Relacionamentos. 1 Universidade Positivo

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF)

PROJETO INTEGRADOR. Documentação. Aplicação de Controle de Acesso FACULDADE DE TECNOLOGIA SENAC GOIÁS. Programação com Frameworks

POO Programação Orientada a Objetos

Mapeamento Objeto-Relacional

Módulo 5 - JDBC java.sql - Conexão com Banco de Dados

Criando um CRUD RESTful com Jersey, JPA e MySQL

JPA Mini Livro Primeiros passos e conceitos detalhados

Vamos falar de Hibernate?

Struts 2 : Projeto e Programação Editora: Ciência Moderna Autor: Antunes Budi Kurniawan Número de páginas: 600

Desenvolvimento Web com JSF2 e JPA2

Utilizando Swing com JPA/Hibernate

Persistência Java para Web com MySQL

Classes de Entidades Persistentes JDB

JPA 2.0 e Servlet 3.0

SISTEMA EXPERIMENTALL 15/11/2009. Olá! A partir de agora vamos conhecer a IDE NetBeans efetuando um micro projeto swing.

ARQUITETURA SISGRAD. Manual de Utilização. Versão: 2.0. Criação: 05 de julho de 2007 Autor: André Penteado

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

Leonardo Gresta Paulino Murta


Persistência de Classes em Tabelas de Banco de Dados

Curso PHP Aula 08. Bruno Falcão

Programação Orientada a Objetos II

Java & Bancos de Dados Adaptado de Slides da Universidade Salgado de Oliveira Goiânia

Conexão Java Mini-curso Hibernate

JPA e Hibernate. Versão 1.0. Apostila destinada ao curso com carga horária de 32 (trinta e duas) horas

DSS 08/09. Camada de Dados - JDBC. Aula 1. António Nestor Ribeiro /António Ramires Fernandes/ José Creissac Campos {anr,arf,jfc}@di.uminho.

JPA DAO Genérico e JPQL

UFG - Instituto de Informática

AULA 07 HIBERNATE. Ao término desse capítulo você terá aprendido: Fundamentos do MVC Estrutura dos pacotes no NetBeans

JDBC DRIVER. Objetivo: Possibilitar aplicações não Zim de se conectar a um banco de dados Zim utilizando as normas JDBC.

Framework Hibernate/JPA

Persistência de Objetos no SGBD PostgreSQL, Utilizando as APIs: JDBC, JDK, Swing e Design Patteners DAO.

Unidade 9: Middleware JDBC para Criação de Beans

Programação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha

Java JDBC - I. Ex. 2: para o SQLServer da Microsoft, o driver JDBC pode ser obtido em

Programação Orientada a Objetos JDBC Java Database Connectivity

Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.

Autor: Ricardo Francisco Minzé Júnior - ricardominze@yahoo.com.br Desenvolvendo aplicações em camadas com PHP 5.

PERSISTÊNCIA EM BANCO DE DADOS: UM ESTUDO PRÁTICO

JPA Com Hibernate. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo

Desenvolvimento Web com Struts

Resolvendo objeto-relacional impedance mismatch com hibernate

JDBC - Java Data Base Connectivity

Transcrição:

JPA Java Persistence API Prof. Ramon Chiara

JDBC Java DataBase Connectivity Acesso a bancos de dados Independência de banco de dados

JDBC Aplicação JDBC Driver Banco de Dados

JDBC Java DataBase Connectivity Acesso a bancos de dados Independência de banco de dados Dificuldade?... Passar atributos para campos Passar campos para atributos

ORM Object-Relational Mapper

ORM Classes Atributos Objetos Relac. Tabelas Colunas Registros FK

ORM Object-Relational Mapper Implementações JDO Java DataBase Objects Hibernate EclipseLink...

ORM Object-Relational Mapper Implementações JDO Java DataBase Objects Hibernate EclipseLink... Bagunça Especificação

JPA Java Persistence API Especificação

JPA Aplicação JPA Provider JDBC Driver Banco de Dados

JPA Java Persistence API Especificação Provider? Implementações da Especificação: Hibernate EclipseLink...

JPA Estrutura META-INF/persistence.xml Unidade de Persistência (Persistence Unit) Entidades Banco de Dados EntityManagerFactory emf = Persistence.createEntityManagerFactory("PU"); EntityManager em = emf.createentitymanager();

JPA Estrutura EntityTransaction tx = em.gettransaction(); try { tx.begin();... tx.commit(); } catch (Exception ex) { tx.rollback(); }

JPA Estrutura finally { em.close(); emf.close(); }

JPA Ciclo de Vida

JPA Ciclo de Vida Insert em.persist(e) Select e = em.find(e.class, id) Select Query q = em.createquery("jpql") q.setparameter( p, valor) List<E> l = q.getresultlist() e = q.getsingleresult() NoResultException Update e.setxxx(...) Delete em.remove(e) e = em.merge(e) em.refresh(e)

JPA JPQL Java Persistence Query Language Orientada a Objetos Classe Funcionario (e não a tabela funcionarios) select f from Funcionario f select f from Funcionario f where f.departamento.nome = "RH" departamento é um atributo da classe Funcionario; nome é um atributo da classe Departamento

JPA Entidades META-INF/persistence.xml Unidade de Persistência (Persistence Unit) Entidades Banco de Dados EntityManagerFactory emf = Persistence.createEntityManagerFactory("PU"); EntityManager em = emf.createentitymanager();

JPA Entidades Obrigatório @Entity @Id Construtor sem parâmetros

JPA Entidades @Entity @Table(name="") @Id @GeneratedValue(strategy = GerationType.IDENTITY) @Column(name="", nullable=false, unique=false) @JoinColumn(name="", nullable=false, unique=false) @ManyToOne @OneToMany @ManyToMany @OneToOne...

JPA Show me the code!

JPA Show me the code! 1. Fazer o download do Driver JDBC (MySQL) http://dev.mysql.com/downloads/connector/j/ 2. Fazer o download de um JPA Provider (Hibernate) http://hibernate.org/orm/ 3. Descompactar os downloads 4. Criar um projeto Java 5. Configurar o Class Path (Build Path no Eclipse) mysql/*.jar hibernate/lib/jpa/*.jar hibernate/lib/required/*.jar Não esqueça de criar um banco de dados com usuário e senha.

JPA Show me the code! 6. Criar o arquivo META-INF/persistence.xml <?xml version="1.0" encoding="utf-8"?> <persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> <persistence-unit name="pu" transaction-type="resource_local"> <provider>org.hibernate.ejb.hibernatepersistence</provider> <properties> <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.driver"/> <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/database"/> <property name="javax.persistence.jdbc.user" value= usuario"/> <property name="javax.persistence.jdbc.password" value= senha"/> <property name="javax.persistence.schema-generation.database.action" value="create"/> <property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" value="true"/> </properties> </persistence-unit> </persistence> Configurar com o banco de dados, usuário e senha criados no slide anterior.

JPA Show me the code! 7. Criar entidades. Exemplo: @Entity public class Aluno { @Id private String nome; private double p1; private double p2; Cuidado com os imports! Usar: import javax.persistence.*; public Aluno() {} public Aluno(String nome, double p1, double p2) { this.nome = nome; this.p1 = p1; this.p2 = p2; } public String getnome() { return nome; } public void setnome(string nome) { this.nome = nome; } public double getp1() { return p1; } public void setp1(double p1) { this.p1 = p1; } public double getp2() { return p2; } public void setp2(double p2) { this.p2 = p2; } } public double getmedia() { return (p1 + p2) / 2; } public boolean getpassou() { return getmedia() >= 7; }

JPA Show me the code! 8. Criar um programa. Exemplo: public class Program { public static void main(string[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("PU"); EntityManager em = emf.createentitymanager(); EntityTransaction tx = em.gettransaction(); try { tx.begin(); Aluno u = new Aluno("João", 8, 5.5); em.persist(u); } } tx.commit(); } catch (Exception e) { tx.rollback(); } finally { em.close(); emf.close(); } Cuidado com os imports! Usar: import javax.persistence.*;

JPA Show me the code! 8. Verificar no MySQL (ou no banco usado) que deu certo!!!