ruirossi@ruirossi.pro.br



Documentos relacionados
Mapeamento Lógico/Relacional com JPA

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

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

UFG - Instituto de Informática

JPA: Persistência padronizada em Java

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

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

Persistência de Dados em Java com JPA e Toplink

Persistindo dados com TopLink no NetBeans

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

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

Criar uma aplicação JPA2 com EclipseLink e H2

Padrão J2EE Data Access Object (DAO)

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

JPA Java Persistence API. Prof. Ramon Chiara

Hibernate. Mapeamento O/R Marcio Aguiar Ribeiro

PROGRAMAÇÃO SERVIDOR MIDDLEWARE JDBC: USANDO O JAVA DB EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

Java para WEB com Hibernate e Struts 2. Duração 52 horas/aula. Objetvo

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

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

Desenvolvendo Aplicações Web com NetBeans

HIBERNATE Criando um projeto em Java + Hibernate do zero

Java e Banco de Dados: JDBC, Hibernate e JPA

WebApps em Java com uso de Frameworks

Aula 03 - Projeto Java Web

Aula 4. Carlos Eduardo de Carvalho Dantas

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

UFG - Instituto de Informática

Front-End Uso da Linguagem Turbo Delphi para Acesso ao Banco de Dados Mysql

Desmistificando o Hibernate Envers em 10 passos

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

JDBC Java Database Connectivity

UFG - Instituto de Informática

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

Tecnologias Java JDBC. Marcio Seiji Oyamada

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

CRIANDO, ALTERADO E EXCLUINDO TABELAS, INSERINDO, SELECIONANDO, ALTERANDO E EXCLUINDO DADOS

Especificação do Trabalho

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

Prática Sobre Servlets e JSP

JPA (Java Persistence API) Marcos Kalinowski

RELACIONAMENTOS ENTRE OS OBJETOS NO FRAMEWORK HIBERNATE Elio Lovisi Filho 1 Ronney Moreira de Castro 2 RESUMO

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

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Java Persistence API (JPA)

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins

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

INTRODUÇÃO BANCO DE DADOS. Prof. Msc. Hélio Esperidião

Aula 1 Acesso a Banco de Dados

Resolvendo objeto-relacional impedance mismatch com hibernate

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44

Persistência em Software Orientado a Objetos:

Mapeamento Objeto-Relacional

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

Classes de Entidades Persistentes JDB

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

Hibernate na sua aplicação JavaWeb

Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados. Prof. Josenildo Silva jcsilva@ifma.edu.br

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

Disciplina de Banco de Dados Parte V

HIBERNATE EM APLICAÇÃO JAVA WEB

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária

MySQL. Transacções em MySQL

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

FACULDADE DE TECNOLOGIA SENAC GOIÁS CONTROLE DE ACESSO USANDO O FRAMEWORK RICHFACES. 5º PERÍODO Gestão da Tecnologia da Informação

Programação com Acesso a Banco de Dados

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP

O que são Bancos de Dados?

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

Manual de Procedimentos para Desenvolvimento de Softwares

GUIA RÁPIDO DE UTILIZAÇÃO DO APLICATIVO RDB2LOD

Unidade 7: Middleware JDBC e Java DB Prof. Daniel Caetano (Fonte: Tutorial Oficial do NetBeans)

Java Beans e Servlets

Introdução à JPA-Java Persistence API

TUTORIAL SISTEMA DE CONTROLE DE ACESSO

Java Persistence Query Language JPQL

Persistência com JPA2 e Hibernate TREINAMENTOS

Parte II Persistência entre Modelos de Dados

Persistência de Classes em Tabelas de Banco de Dados

Fundamentos da Plataforma Java EE. Prof. Fellipe Aleixo

Framework utilizando reflexão e aspectos para persistência de objetos em java

Prática em Laboratório N.02 Criando um serviço Web via NetBeans

Objetos Implícitos. Conceito. Instanciados pelo próprio contêiner. Disponíveis em quaisquer páginas JSP.

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

Java II. Sérgio Luiz Ruivace Cerqueira

Criando um CRUD RESTful com Jersey, JPA e MySQL

Curso de Java. Geração de Páginas WEB. TodososdireitosreservadosKlais

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

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

Documento de Projeto de Sistema

Novatec Editora Ltda. [2014].

- O MySQL para além da sua utilização em modo linha de comandos, também pode ser utilizado através de ferramentas gráficas.

CA Nimsoft Monitor. Guia do Probe Monitoramento de resposta de JDBC. jdbc_response série 1.1

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Cenários do CEL. Acessar ao sistema

Transcrição:

Persistência Com JPA & Hibernate Rui Rossi dos Santos ruirossi@ruirossi.pro.br Mediador: Rui Rossi dos Santos Slide 1

Mapeamento Objeto-Relacional Contexto: Linguagem de programação orientada a objetos SGBD relacionais Programa Java Banco de Dados Objeto Objeto Objeto Mapeamento O-R Framework de Persistência Tabela Tabela Tabela Mediador: Rui Rossi dos Santos Slide 2

Hibernate Framework para mapeamento objeto-relacional (ORM) Objetivo: reduzir a complexidade de aplicações Java. Caracterização: É um software livre (licença LGPL). É um framework maduro (terceira versão). Usa arquivos XML ou anotações nas próprias classes. Mediador: Rui Rossi dos Santos Slide 3

Bibliotecas: Hibernate antlr-2.7.6.jar asm.jar asm-attrs.jar cglib-2.1.3.jar commons-collections-2.1.1.jar commons-logging-1.1.jar dom4j-1.6.1.jar ehcache-1.2.3.jar hibernate3.jar hibernate-annotations.jar hibernate-commons-annotations.jar hibernate-entitymanager.jar hibernate-tools.jar javassist.jar jdbc2_0-stdext.jar jta.jar Mediador: Rui Rossi dos Santos Slide 4

Primeiro Exemplo Ferramentas Banco de dados: MySQL Server 5 MySQL Query Browser MySQL Administrator IDE: NetBeans 6.8 Mediador: Rui Rossi dos Santos Slide 5

Primeiro Exemplo Passo 1: criação do banco de dados Nome do banco: introhibernate Tabela categoria: id: integer PK auto_increment descricao: varchar(50) ID DESCRICAO CATEGORIA int(10) varchar(50) <pk> Mediador: Rui Rossi dos Santos Slide 6

Primeiro Exemplo Passo 2: criação de uma conexão no NetBeans URL: jdbc:mysql://localhost:3306/introhibernate Driver: MySQL Connector Host: localhost Porta: 3306 Banco: introhibernate Usuário: root Nome: IntroHibernate Mediador: Rui Rossi dos Santos Slide 7

Primeiro Exemplo Passo 3: criação de um projeto no NetBeans Escolha do projeto: Categoria: Java Web Projeto: Aplicação Web Nome e local: Nome: IntroHibernate1 Servidor e configurações: Servidor: Tomcat 6.0.20 Versão do Java: Java EE 5 Contexto: /IntroHibernate1 Frameworks: nenhum Mediador: Rui Rossi dos Santos Slide 8

Primeiro Exemplo Passo 4: configuração do projeto Modificar a codificação de caracteres para ISO-8859-1. Adicionar bibliotecas: Hibernate Hibernate JPA MySQL JDBC Driver Mediador: Rui Rossi dos Santos Slide 9

Primeiro Exemplo Passo 5: criação de arquivo (Categoria.java) Tipo do arquivo: Categoria: Persistence Tipo: Classe de entidade do banco de dados Tabela do banco de dados: Conexão: IntroHibernate Tabelas selecionadas: categoria Incluir tabelas relacionadas: NÃO Classes de entidade: Tabela/Classe: categoria/categoria Pacote: br.pro.ruirossi Gerar anotações de consulta nomeada para campos persistentes Opções do mapeamento: Obter associações: padrão Tipo de coleção: java.util.collection Mediador: Rui Rossi dos Santos Slide 10

Primeiro Exemplo Passo 6: criação de um servlet (Controlador.java) Tipo do arquivo: Categoria: Web Tipo: Servlet Nome e local: Nome da classe: Controlador Pacote: br.pro.ruirossi Configurações: Nome do servlet: Controlador URL: /controlador Mediador: Rui Rossi dos Santos Slide 11

Primeiro Exemplo Passo 6: criação de um servlet (Controlador.java) Preparar o servlet para realizar duas operações: Inserir novas categorias Consultar todas as categorias registradas Inserção: método categoriainsert( ) Consulta: método categoriafindall( ) Método adicional: gethibernatesession() Ilustra como criar uma sessão no Hibernate Mediador: Rui Rossi dos Santos Slide 12

Primeiro Exemplo Passo 7: camada de apresentação index.jsp: menu inicial. categoria_incluir.jsp: formulário de cadastro de categoria. categoria_consultar.jsp: relatório de categorias cadastradas. sucesso.jsp: confirmação da gravação de um registro. erro_tratado.jsp: informações sobre erro ocorrido. Mediador: Rui Rossi dos Santos Slide 13

Passo 8: execução e testes Primeiro Exemplo Mediador: Rui Rossi dos Santos Slide 14

Exercício 1 Crie uma cópia do projeto IntroHibernate1 e chame-o de IntroHibernate2. Acrescente uma funcionalidade ao projeto IntroHibernate2 que permita alterar a descrição de uma categoria previamente cadastrada. Crie um arquivo chamado categoria_alterar.jsp para captar os dados da categoria a ser alterada. Crie um método no servlet e utilize o método update( ) da classe org.hibernate.session para realizar essa operação. Mediador: Rui Rossi dos Santos Slide 15

Exercício 2 Acrescente uma funcionalidade ao projeto IntroHibernate2 que permita excluir uma categoria previamente cadastrada. Crie um arquivo chamado categoria_excluir.jsp para captar a identificação da categoria a ser excluída. Crie um método no servlet e utilize o método delete( ) da classe org.hibernate.session para realizar essa operação. Mediador: Rui Rossi dos Santos Slide 16

Exercício 3 Acrescente uma funcionalidade ao projeto IntroHibernate2 que permita consultar uma categoria previamente cadastrada. Crie um arquivo chamado categoria_consultar.jsp que capte a identificação de uma categoria e exiba sua descrição. Crie um método no servlet e utilize o método get( ) da classe org.hibernate.session para realizar essa operação. Mediador: Rui Rossi dos Santos Slide 17

JPA Java Persistence API Caracterização: Conjunto de interfaces e anotações. Padronizam o acesso a frameworks O-R. Baseia-se nas melhores idéias dos frameworks de persistência. Introduzida com a plataforma JEE 5. Parte da tecnologia EJB 3.0. Unifica a API de persistência. Oferece liberdade para escolha de provedor. Hibernate TopLink JDO Mediador: Rui Rossi dos Santos Slide 18

JPA & Hibernate Mediador: Rui Rossi dos Santos Slide 19

Bibliotecas: JPA & Hibernate antlr-2.7.6.jar asm.jar asm-attrs.jar cglib-2.1.3.jar commons-collections-2.1.1.jar commons-logging-1.1.jar dom4j-1.6.1.jar ehcache-1.2.3.jar ejb3-persistence.jar (JPA) hibernate3.jar hibernate-annotations.jar hibernate-commons-annotations.jar hibernate-entitymanager.jar hibernate-tools.jar javassist.jar jdbc2_0-stdext.jar jta.jar Mediador: Rui Rossi dos Santos Slide 20

Conceitos importantes: JPA & Hibernate Unidade de Persistência: conjunto de configurações necessárias para a aplicação Java acessar o BD e reconhecer as classes que representam entidades do BD. Provedor de Persistência: implementa as interfaces definidas pela JPA (Ex.: TopLink, Hibernate, JDO). Gerenciador de Entidade (EntityManager): responsável por realizar as operações de persistência. Mediador: Rui Rossi dos Santos Slide 21

JPA & Hibernate Criação de um EntityManager: Criar uma fábrica de EntityManager EntityManagerFactory emf = Persistence.createEntityManagerFactory("HibernatePU"); Obs.: HibernatePU é o nome da unidade de persistência. Criar um EntityManager: EntityManager em = emf.createentitymanager(); Mediador: Rui Rossi dos Santos Slide 22

JPA & Hibernate Operações de persistência com um EntityManager: Gravar um objeto no banco de dados: Assunto assunto = new Assunto(1, Filosofia ); em.gettransaction().begin(); em.persist(assunto); em.gettransaction().commit(); Mediador: Rui Rossi dos Santos Slide 23

JPA & Hibernate Operações de persistência com um EntityManager: Recuperar um objeto do banco de dados: Assunto assunto = em.find(assunto.class, 1); Mediador: Rui Rossi dos Santos Slide 24

JPA & Hibernate Operações de persistência com um EntityManager: Remover um objeto do banco de dados: em.gettransaction().begin(); Assunto assunto = em.find(assunto.class, 1); em.remove(assunto); em.gettransaction().commit(); Mediador: Rui Rossi dos Santos Slide 25

JPA & Hibernate Operações de persistência com um EntityManager: Alterar um objeto no banco de dados: primeira forma em.gettransaction().begin(); Assunto assunto = em.find(assunto.class, 1); assunto.setdescricao( Programação ); em.gettransaction().commit(); Alterar um objeto no banco de dados: segunda forma em.gettransaction().begin(); Assunto assunto = new Assunto(1, Programação ); em.merge(assunto); em.gettransaction().commit(); Mediador: Rui Rossi dos Santos Slide 26

JPA & Hibernate Operações de persistência com um EntityManager: Recuperar objetos utilizando uma NamedQuery Query query = em.createnamedquery( Assunto.findAll ); List<Assunto> lista = query.getresultlist(); Mediador: Rui Rossi dos Santos Slide 27

JPA & Hibernate Anotações associadas às classes Java: @Entity: indica que a classe é uma entidade persistente. @Table: identifica a tabela correspondente à classe. Opcional para classes com nome idêntico ao da tabela. name: especifica o nome da tabela. Mediador: Rui Rossi dos Santos Slide 28

JPA & Hibernate Anotações associadas às classes Java : @NamedQueries: define um conjunto de consultas pré-definidas vinculadas à entidade. @NamedQuery: define uma consulta pré-definidas vinculada à entidade. name: especifica o nome da consulta. query: especifica a consulta a ser realizada. Mediador: Rui Rossi dos Santos Slide 29

JPA & Hibernate Anotações aplicáveis aos atributos das classes: @Column: identifica a coluna correspondente ao atributo. Opcional para atributos com nome idêntico à coluna da tabela. name (String): especifica o nome da coluna da tabela. nullable (boolean): indica se o valor pode ser nulo. length (int): tamanho máximo da coluna. unique (boolean): indica se a coluna exige valores únicos. @Basic: especifica configurações básicas do atributo. optional: indica se o campo permite valores nulos. Mediador: Rui Rossi dos Santos Slide 30

JPA & Hibernate Anotações aplicáveis aos atributos das classes: @Id: indica qual é o atributo identificador da classe. Toda classe deve ter um. Deve corresponder à chave primária da tabela. @GeneratedValue: indica que o valor do atributo é gerado no banco. strategy: indica o tipo de geração empregado. GenerationType.IDENTITY: campo AUTO_INCREMENT no MySQL. Mediador: Rui Rossi dos Santos Slide 31

JPA & Hibernate Anotações para mapeamento de associações: @OneToOne @OneToMany @ManyToOne @ManyToMany @JoinTable @JoinColumn Mediador: Rui Rossi dos Santos Slide 32

JPA & Hibernate Anotações para chaves compostas: @Embeddable @EmbeddedId Mediador: Rui Rossi dos Santos Slide 33

JPA & Hibernate Passos para a criação de uma aplicação Java para a Web: Criação do banco de dados. Criação de uma conexão com o banco no NetBeans. Criação de um projeto de aplicação para a Web no NetBeans. Configuração do projeto no NetBeans. Adição das bibliotecas do Hibernate e JPA. Adição do driver JDBC do SGBD a ser utilizado. Criação de uma unidade de persistência (persistence.xml) Criação das classes de entidade. Criação de um DAO genérico. Criação de um servlet. Criação dos componentes da camada de apresentação. Mediador: Rui Rossi dos Santos Slide 34

Segundo Exemplo Passo 1: criação do banco de dados (introjpa) Mediador: Rui Rossi dos Santos Slide 35

Segundo Exemplo Passo 2: criação de uma conexão no NetBeans URL: jdbc:mysql://localhost:3306/introjpa Driver: MySQL Connector Host: localhost Porta: 3306 Banco: introjpa Usuário: root Nome: IntroJPA Mediador: Rui Rossi dos Santos Slide 36

Segundo Exemplo Passo 3: criação de um projeto no NetBeans Escolha do projeto: Categoria: Java Web Projeto: Aplicação Web Nome e local: Nome: IntroJPA1 Servidor e configurações: Servidor: Tomcat 6.0.20 Versão do Java: Java EE 5 Contexto: /IntroJPA1 Frameworks: nenhum Mediador: Rui Rossi dos Santos Slide 37

Segundo Exemplo Passo 4: configuração do projeto Modificar a codificação de caracteres para ISO-8859-1. Adicionar bibliotecas: Hibernate JPA MySQL JDBC Driver Mediador: Rui Rossi dos Santos Slide 38

Segundo Exemplo Passo 5: criação uma unidade de persistência (persistence.xml) Tipo do arquivo: Categoria: Persistence Tipo: Unidade de persistência Provedor e banco de dados: Nome da unidade de persistência: HibernatePU Biblioteca de persistência: Hibernate Conexão: IntroJPA Estratégia de geração de tabela: Nenhum Mediador: Rui Rossi dos Santos Slide 39

Segundo Exemplo Passo 5: criação uma unidade de persistência (persistence.xml) Acrescentar configurações para visualizar instruções SQL: <property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" value="true"/> Mediador: Rui Rossi dos Santos Slide 40

Segundo Exemplo Passo 5: criação uma unidade de persistência (persistence.xml) Mediador: Rui Rossi dos Santos Slide 41

Segundo Exemplo Passo 6: criação das classes de entidade Tipo do arquivo: Categoria: Persistence Tipo: Classe de entidade do banco de dados Tabela do banco de dados: Conexão: IntroJPA Tabelas selecionadas: TODAS Incluir tabelas relacionadas: SIM Classes de entidade: Manter nomes das classes mapeados a partir das tabelas Pacote: br.pro.ruirossi.introjpa.entidades Gerar anotações de consulta nomeada para campos persistentes Mediador: Rui Rossi dos Santos Slide 42

Segundo Exemplo Passo 6: criação das classes de entidade Opções do mapeamento: Obter associações: padrão (lento) Ansioso (eager): carregar coleções automaticamente Lento (lazy): carregar coleções somente quando são acessadas Tipo de coleção: java.util.list Mediador: Rui Rossi dos Santos Slide 43

Segundo Exemplo Passo 6: criação das classes de entidade Adicionar as classes de entidade à unidade de persistência Mediador: Rui Rossi dos Santos Slide 44

Segundo Exemplo Passo 7: criação de um DAO Genérico - - + + + + + + emf em GenericDAO : EntityManagerFactory : EntityManager GenericDAO () persistir (T objeto) remover (T objeto) alterar (T objeto) executenamedquery (String namedquery) findbyid (Class classe, Object id) : void : void : void : List<T> : T <T> Mediador: Rui Rossi dos Santos Slide 45

Segundo Exemplo Passo 8: criação de um servlet (Controlador.java) Tipo do arquivo: Categoria: Web Tipo: Servlet Nome e local: Nome da classe: Controlador Pacote: br.pro.ruirossi.introjpa.servlets Configurações: Nome do servlet: Controlador URL: /controlador Mediador: Rui Rossi dos Santos Slide 46

Segundo Exemplo Passo 8: criação de um servlet (Controlador.java) Preparar o servlet para realizar cinco operações: Inserir novos assuntos Alterar um assunto existente Excluir um assunto existente Recuperar um assunto existente pela sua identificação Gerar o relatório com todos os assuntos registrados Controlador # # # + + + + + doget (HttpServletRequest request, HttpServletResponse response) dopost (HttpServletRequest request, HttpServletResponse response) processrequest (HttpServletRequest request, HttpServletResponse response) assuntoinsert (HttpServletRequest request) assuntofindall (HttpServletRequest request) assuntoupdate (HttpServletRequest request) assuntodelete (HttpServletRequest request) assuntofindbyid (HttpServletRequest request) : void : void : void : String : String : String : String : String Mediador: Rui Rossi dos Santos Slide 47

Segundo Exemplo Passos 9: camada de apresentação index.jsp: menu inicial. sucesso.jsp: confirmação da realização de uma operação. erro_tratado.jsp: informações sobre erro ocorrido. assunto_incluir.jsp: formulário para incluir um novo assunto. assunto_alterar.jsp: formulário para alterar um assunto. assunto_excluir.jsp: formulário para excluir um assunto. assunto _consultar.jsp: formulário para consultar um assunto. assunto_relatorio.jsp: relatório de assuntos cadastrados. Mediador: Rui Rossi dos Santos Slide 48

Passos 9: execução e testes Segundo Exemplo Mediador: Rui Rossi dos Santos Slide 49

Passos 9: execução e testes Segundo Exemplo Mediador: Rui Rossi dos Santos Slide 50

Exercício 4 Crie uma cópia do projeto IntroJPA1 e chame-o de IntroJPA2. Prepare este projeto para realizar as seguintes operações: Realizar o cadastro de novos autores. Alterar os cadastros de autores. Excluir cadastros de autores existentes. Recuperar um cadastro de autor pela sua identificação. Gerar o relatório com todos os autores registrados. Mediador: Rui Rossi dos Santos Slide 51

Terceiro Exemplo Projeto: IntroJPA3 Funcionalidades adicionadas: Cadastro de autores Cadastro de livros Classes mais importantes para o estudo: br.pro.ruirossi.entidades.autor br.pro.ruirossi.entidades.livro br.pro.ruirossi.servlets.autorcontroller br.pro.ruirossi.servlets.livrocontroller Mediador: Rui Rossi dos Santos Slide 52

Exercício 5 Crie uma nova aplicação Java para a web, chamada GeoMundo, que realize as operações de persistência utilizando JPA e Hibernate. Esta aplicação deve realizar as seguintes operações: Cadastro de continentes: identificação, nome e área. Cadastro de idiomas: identificação e nome. Cadastro de países: identificação, nome, nacionalidade, área, população, continente e idiomas. Mediador: Rui Rossi dos Santos Slide 53

Exercício 5 Passos para a criação da aplicação: Crie o banco de dados. Crie uma conexão com o banco no NetBeans. Crie um projeto de aplicação para a Web no NetBeans. Configure o projeto no NetBeans. Adicione as bibliotecas do Hibernate e JPA. Adicione o driver JDBC do SGBD a ser utilizado. Crie uma unidade de persistência (persistence.xml) Crie as classes de entidade. Crie um DAO genérico. Crie um servlet para cada operação de cadastro. Crie os JSPs da camada de apresentação. Mediador: Rui Rossi dos Santos Slide 54