Framework Hibernate/JPA

Documentos relacionados
Aula 7 Visibilidade entre objetos e Diagramas de Classes

Modelagem de Software

Análise do Sistema Casos de Uso

Diagramas de Classes. SSC-526 Análise e Projeto Orientados a Objeto Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2013

Hibernate na sua aplicação JavaWeb

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

JPA: Persistência padronizada em Java

MAPEAMENTO OBJETO RELACIONAL COM HIBERNATE EM APLICAÇÕES JAVA WEB

Conexão com Banco de Dados

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


Modelo Conceitual. Prof. Seiji Isotani Slides baseados no material da Profa Dra Rosana T. V. Braga

Série Rações Semanais JPA & Hibernate Rogério Araújo

Java para Desenvolvimento Web Carga Horária: 40 Horas.

Desenvolva de qualquer sistema operacional para qualquer sistema operacional. Sem limites.

Mapeamento Objeto-Relacional

Injeção de Dependências e Spring

Criando uma aplicação web

BD Relacional versus BD Orientado a Objetos: uma avaliação quanto ao uso - ou não - de camada de persistência

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

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

Agenda. Instalação e configuração. Processamento de comandos SQL com JDBC. Driver JDBC Criação da classe de conexão

Do Projeto à Codificação. SSC-526 Análise e Projeto Orientados a Objeto Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2013

PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

JPA Java Persistence API. Prof. Ramon Chiara

UFG - Instituto de Informática

JBoss Seam. Vinicius Senger Co-fundador Globalcode Alberto J Lemos (Dr. Spock) Instrutor Globalcode. Globalcode Open4Education

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

UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL. Java Peristence API 1.

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

Persistência de Dados em Java com JPA e Toplink

WebApps em Java com uso de Frameworks

MAPEAMENTO OBJETO RELACIONAL

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

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

Novatec Editora Ltda. [2014].

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

HIBERNATE EM APLICAÇÃO JAVA WEB

ALUNO: RONI FABIO BANASZEWSKI

Impedância em Bancos de Dados

Gustav Dallmann Júnior

Lista de Exercícios Dissertativo

JPA Java Persistence API

BANCO DE DADOS ORIENTADO A OBJETOS

Programação Java. em Ambiente Distribuído. Ênfase no Mapeamento Objeto-Relacional com JPA, EJB e Hibernate. Douglas Rocha Mendes.

TECNOLOGIAS DE ACESSO A BASES DE DADOS. Profª Ana Paula Cação Maio de 2018

Objetos e Componentes Distribuídos: EJB

POO Programação Orientada a Objetos

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

Enums em Java: utilização e persistência

Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB

UFG - Instituto de Informática

INF1013 MODELAGEM DE SOFTWARE

Mapeamento Lógico/Relacional com JPA

Persistência em Software Orientado a Objetos:

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

RAPHAEL BARRETO PALHARES DE CAMPOS ANÁLISE COMPARATIVA DE FRAMEWORKS DE PERSISTÊNCIA

Objetos e Componentes Distribuídos: EJB e CORBA

Rui Carneiro, Rui Pereira, Tiago Orfão

Diagramas de Colaboração e Padrões GRASP

Documento de Arquitetura de Software- SGE

Web Services REST JAX-RS

Transcrição:

Framework Hibernate/JPA SSC 124/621 Análise e Projeto Orientados a Objetos Sofia Costa 1

Hibernate É um Framework do tipo caixa-branca para persistência de dados. É uma ferramenta de mapeamento objeto/relacional (ORM) para Java. O mapeamento é feito mediante uso de arquivos (XML) ou anotações em código Java Abstrai por total o banco de dados. 2

Hibernate - Arquitetura

Hibernate Inspirou o desenvolvimento da especificação Java Persistence API (JPA) Descreve uma interface comum para frameworks ORM Possui diferentes implementações: Hibernate (Jboss), EclipseLink (Eclipse), OpenJPA (Apache) Permite trocar o BD ou o framework de persistência sem alterar o código 4

Arquitetura com JPA 5

JPA - Características Os objetos são POJOS (Plain Old Java Object), significando que os objetos possuem design simples que não dependem da herança de interfaces ou classes de frameworks externos. Qualquer objeto com um construtor default pode ser feito persistente sem nenhuma alteração em uma linha de código. As consultas podem ser realizadas através da JPQL (Java Persistence Query Language), uma linguagem de consulta que é derivada do EJB QL e transformada depois para SQL.

JPA - Características As configurações são feitas através de anotações, XML ou uma combinação das duas. Integração e teste: JPA trabalha fora do servidor de aplicação. Isso permite que a JPA possa ser utilizada sem a existência de um servidor de aplicação. Dessa forma, testes unitários podem ser executados mais facilmente.

JPA Cinco passos para utilização do JPA: 1. Configurar o projeto (JARs do Hibernate, JPA e do JDBC) 2. Criar o banco de dados onde os objetos vão persistir 3. Criar a classe (com anotações) cujos objetos vão ser persistidos 4. Acrescentar as configurações da classe no XML 5. Criar o objeto cujo estado vai ser persistido.

Exemplo: Empréstimo nome tipo Leitor calculardatadevolucao( ) 1..1 0..* faz Emprestimo data_do_emprestimo situacao : char adicionarcopia( ) devolvercopia( ) possui 1..1 1..* LinhaDoEmprestimo data_prevista_devoluçãorefere-se a data_entrega_real CopiaDoLivro nro_sequencial situacao : char liberadoparaemprestimo : char codcopia( ) atualizardatadev( ) 0..* 1..1 mudarsituacao( ) codcopia( ) sinalizardevolucao( )

Preparação do Modelo Classe POJO

Mapeamento com JPA Indica que os objetos dessa classe devem ser persistidos Geração da chave primária para o MySQL Declara o atributo que representa a chave primária (obrigatório) Indica que o banco deve atribuir o valor da chave (opcional) Indica o tipo do Enumerado a ser mapeado para o banco de dados

Configuração no XML Indica a base de dados no banco de dados Indica a base de dados no banco de dados Indica o endereço da base de dados

Estados do JPA

O Padrão Representar Objetos como Tabelas Livro Tabela de Livros ISBN titulo () nrocopias ISBN título 14

Problemas Para objetos apenas com atributos simples, o mapeamento é direto. Porém, objetos complexos possuem atributos que referenciam outros objetos (às vezes complexos por sua vez). 15

Como representar relacionamentos em tabelas Representação de objetos complexos, que possuem conexões com outros objetos, e não simplesmente atributos primitivos simples. 16

Como representar relacionamentos com JPA Associação um-para-um Deve colocar uma chave estrangeira que seja um OID em uma ou em ambas as tabelas ou Crie uma tabela associativa que registra os OIDs de cada objeto no relacionamento 17

Como representar relacionamentos com JPA Associação um-para-muitos Deve criar uma tabela associativa que registra os OIDs de cada objeto no relacionamento 18

Como representar relacionamentos com JPA Associação um-para-muitos 19

Como representar relacionamentos em tabelas Associação muitos-para-muitos Deve criar uma tabela associativa que registra os OIDs de cada objeto no relacionamento @ManyToMany @JoinTable(name="table1_has_table2")

JPA - Consultas Trabalhando com Parâmetros no JPQL Positional Parameter Notation

JPA - Consultas Trabalhando com Parâmetros no JPQL Named Parameter Notation

JPA - Consultas Melhorando a busca TypedQuery Organizando as consultas com DAOs (Data Access Object) Alternativa: @NamedQuery