JPA Java Persistence API

Tamanho: px
Começar a partir da página:

Download "JPA Java Persistence API"

Transcrição

1 Introdução O principal foco da versão 5 do Java EE é a facilidade de uso. O novo Java EE é bem mais simples que sua versão anterior e suas novas APIs aumentam a produtividade dos desenvolvedores, exigindo menos esforço de codificação. Uma das principais novidades do Java EE 5 é a sua nova API de persistência. Há muito tempo esperada pela comunidade Java, a Java Persistence API (JPA) padroniza as operações de persistência sobre entidades Java, definindo uma especificação para mapeamento objeto-relacional Persistência e mapeamento O/R A tecnologia de banco de dados relacionais existe há décadas, e hoje os SGBDs são robustos e confiáveis. Os principais problemas relacionados ao armazenamento e recuperação de dados já foram solucionados, e o investimento das empresas nesses sistemas também é imenso, o que torna a sua utilização uma regra. O uso dos bancos de dados relacionais, no entanto, traz alguns inconvenientes ao programador de linguagens orientadas a objetos como Java. As tecnologias OO e relacional são bastante diferentes, e seu uso conjunto normalmente implica em enfatizar uma tecnologia em sacrifício da outra. Como os bancos de dados OO ainda estão muito menos disseminados que os bancos de dados relacionais, o desafio atual dos desenvolvedores é unir dois mundos completamente distintos, utilizando a tecnologia relacional para armazenar objetos. O armazenamento de objetos de uma aplicação é denominado persistência de objetos. Essa técnica permite que as instâncias existentes no sistema sejam armazenadas e posteriormente recuperadas, conservando-se o seu estado mesmo após a aplicação ter sido finalizada. Abordagens atuais de mapeamento Desde as suas primeiras versões, a plataforma Java oferece acesso a bancos de dados através da API JDBC, que trabalha no mesmo nível do banco, sendo o acesso às informações armazenadas feito através de comandos SQL. Em muitos aspectos, a JDBC é uma API de baixo nível, que muitas vezes exige do desenvolvedor o conhecimento das nuances do banco de dados. Apesar de ser uma maneira eficiente de acessar dados em SGBDs relacionais, e a opção que normalmente oferece melhor performance, a JDBC oferece uma abstração OO bastante limitada (trabalha-se com tabelas, registros e resultsets, ao invés de objetos). Para usar os recursos de bancos de dados relacionais em Java e ainda assim aproveitar os conceitos do paradigma OO, é necessário fazer o que se conhece como mapeamento objeto-relacional (ou simplesmente mapeamento O/R). No mapeamento O/R as classes e os atributos do sistema são mapeados para tabelas e Tópicos Avançados de Programação Página 1

2 campos/colunas, e a persistência é feita de forma transparente pela aplicação. Assim, objeto sem memória são armazenados no banco, e objetos do banco são trazidos para a memória sempre que necessário. Com paradigmas tão diferentes, diversas questões surgem durante o mapeamento: Como mapear herança? E agregação? Cada classe deve virar uma tabela? Como aproveitar os recursos do banco sem perder a abstração de objetos? Para suprir essas necessidades, surgiram diversos frameworks e tecnologias de persistência, a exemplo do Hibernate e do ibatis. Essas ferramentas facilitam o trabalho do desenvolvedor e aumentam sua produtividade, fornecendo poderosas APIs de manipulação de dados. Apesar de cada ferramenta possuir uma forma distinta de efetuar o mapeamento O/R, os conceitos são semelhantes e relativamente simples, baseando-se em POJOs (Plain Old Java Objects). O termo Plain Java Old Object (ou simplesmente POJO) foi criado por Martin Fowler, Rebecca Parsons e Josh MacKenzie em A tradução é algo como velho e bom objeto Java e refere-se a objetos/classes Java simples, não atrelados a ferramentas ou frameworks. A Java Persistence API Até o J2EE 1.4 a plataforma Java não possuía uma forma simples de mapear objetos no banco de dados. A única opção era a utilização de Entity Beans, que exigem um container EJB e possuem uma complexidade razoável1. Aplicações cuja arquitetura não envolvia EJBs precisavam utilizar ferramentas não padronizadas como o Hibernate para fazer a persistência, ou fazer a implementação de persistência manualmente. A Java Persistence API, definida na JSR-220 (Enterprise JavaBeans,Version 3.0), padroniza o mapeamento objeto-relacional na plataforma Java. Apesar de descrita na especificação do novo EJB, a JPA não depende de um container para funcionar, sendo possível usar e testar soluções apenas com o Java SE2. A JPA é uma especificação baseada no conceito de POJOs, que incorpora idéias de renomados frameworks de persistência para padronizar o mapeamento O/R em Java. A API oferece uma solução completa para mapeamento e persistência de objetos: Um modo declarativo de descrever mapeamentos O/R Uma linguagem de consulta Um conjunto de ferramentas para manipular entidades Em se tratando de um padrão do Java Community Process, a JPA traz diversos benefícios. O uso de um padrão para a persistência de objetos permite que diversos Tópicos Avançados de Programação Página 2

3 fabricantes trabalhem sobre os mesmos conceitos e que o desenvolvedor escolha a implementação de sua preferência. A padronização também traz outra importante vantagem: pode-se alternar entre implementações de fabricantes distintos, que estejam em conformidade com a JSR-220, sem nenhum esforço adicional. Dessa forma, uma aplicação codificada de acordo com o novo padrão irá funcionar com qualquer implementação da JPA, não havendo necessidade de se conhecer (a princípio) qual tecnologia será utilizada para essa implementação. Conceitos básicos Na JPA os objetos persistentes são denominados entidades (entities). Uma entidade é um objeto simples (POJO), que representa um conjunto de dados persistido no banco. Como entidades são definidas por classes Java comuns, sem relação com frameworks ou bibliotecas, elas podem ser abstratas ou herdar de outras classes, sem restrições. Um conceito importante é que as entidades possuem um identificador (descrito pela chave primária) e estado, sendo seu tempo de vida independente do tempo de vida da aplicação. Assim, aplicações distintas podem compartilhar a mesma entidade, que é referenciada através de seu identificador. Para que uma entidade se torne persistente é necessário associá-la a um persistence context (contexto de persistência), que fornece a conexão entre as instâncias e o banco de dados. A manipulação das entidades é feita, a partir desse contexto, por meio do entity manager (gerenciador de entidades), que é responsável por executar as operações básicas sobre a entidade (criação, atualização, exclusão, localização, consultas etc.). O entity manager na JPA é uma instância da interface javax.persistence.entitymanager. A implementação da JPA é feita por um persistence provider (provedor de persistência). O provedor define como as coisas funcionam, através da implementação de todas as interfaces definidas pela especificação da JPA. Dessa forma, cada provedor decide a maneira e o momento de carregar, atualizar e armazenar as entidades, assim como sincronizar os dados com o banco. As configurações utilizadas pelo provedor em uma determinada aplicação(conexão com o banco de dados, entidades que serão gerenciadas, tipo de transação etc.) são descritas em uma persistence unit, que é configurada num arquivo especial denominado persistence.xml. Mapeamento As classes e interfaces da JPA estão localizadas no pacote javax.persistence. A API faz uso intensivo de anotações ; por isso não é necessário criar descritores XML para cada uma das entidades da aplicação. Uma entidade é uma classe Java comum, rotulada através da Não é preciso implementar Tópicos Avançados de Programação Página 3

4 interfaces ou estender outras classes para tornar uma classe persistível ; a única exigência é que a classe da entidade possua um construtor sem parâmetros, pois a instanciação da classe é feita por reflexão. No código a seguir a classe Pessoa representa uma entidade. O atributo cpf é o identificador da entidade (chave primária), especificado através public class Pessoa private String cpf; } Grande parte da produtividade trazida pela JPA deve-se à utilização de valores default de mapeamento, que facilitam bastante o trabalho do desenvolvedor. Assim, o que não é definido explicitamente assume a configuração padrão da API. Por exemplo, por padrão a JPA considera o nome da entidade o mesmo nome da tabela no banco de dados e o nome da propriedade o mesmo nome da coluna. No código anterior, a entidade Pessoa será salva na tabela PESSOA e a propriedade cpf na coluna CPF. Caso seja necessário alterar a forma de mapeamento, devemse utilizar as TB_PESSOA ) public class DS_CPF) private String cpf; } Os dados de uma única entidade podem estar distribuídos em mais de uma tabela, e diversos tipos de relacionamentos entre entidades são possíveis. Os mais comuns são os de etc.) e herança Consultas A JPA oferece suporte a consultas estáticas e dinâmicas. A API fornece uma linguagem própria de consulta, que é uma extensão bastante poderosa da EJB QL (a linguagem de consultas do EJB). Essa linguagem pode ser usada como uma alternativa ao SQL, que também é suportado. As consultas suportam polimorfismo, o que significa que quando uma entidade é consultada, todas as entidades descendentes que atendam ao critério da consulta também são retornadas. A criação de consultas é feita através do EntityManager, que fornece métodos específicos para instanciar consultas estáticas e dinâmicas, além de permitir a execução das operações CRUD. Tópicos Avançados de Programação Página 4

5 As consultas estáticas possuem nomes e são descritas pela Elas são definidas nas entidades correspondente se ficam précompiladas. Veja um exemplo de consulta estática para localizar uma pessoa pelo seu = consultarporcpf, query = SELECT p FROM Pessoa p WHERE p.cpf = :cpf ) O EntityManager utiliza o nome da consulta para instanciá-la, o que é feito através do método createnamedquery(). Depois que a consulta é criada, basta setar os parâmetros e executá-la. A execução pode ser feita pelos métodos getsingleresult() ou getresultlist(), a depender do resultado esperado. Por exemplo, para localizar uma pessoa pelo CPF (supondo que o retorno será único), basta executar a consulta conforme o exemplo abaixo: Query consulta =manager.createnamedquery( consultarporcpf ); consulta.setparameter( cpf, ); Pessoa pessoa = consulta.getsingleresult(); As consultas dinâmicas não possuem nome, e podem ser construídas em tempo de execução. A criação desse tipo de consulta é feito através do método createquery(): Query consulta = manager.createquery( SELECT p FROM Pessoa p WHERE p.cpf = :cpf ); Tópicos Avançados de Programação Página 5

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 10 Persistência de Dados

Leia mais

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

UNIVERSIDADE FEDERAL DO PIAUÍ DEPARTAMENTO DE COMPUTÇÃO DISCIPLINA: ENGENHARIA DE SOFTWARE II PROFESSOR: ARMANDO SOARES UNIVERSIDADE FEDERAL DO PIAUÍ DEPARTAMENTO DE COMPUTÇÃO DISCIPLINA: ENGENHARIA DE SOFTWARE II PROFESSOR: ARMANDO SOARES TUTORIA DE USO DO HIBERNATE NA IDE ECLIPSE KEPLER DISCENTE: JOANA DARC CARVALHO DE

Leia mais

Mapeamento Objeto-Relacional

Mapeamento Objeto-Relacional Mapeamento Objeto-Relacional Persistência de dados com Java Persistence API - Hibernate Jefferson S Silva Mapeamento objeto-relacional Mas como? SQL + JDBC!? 1 Para quê serve MOR? O uso de uma solução

Leia mais

Proporcionar a modelagem de sistemas utilizando todos os conceitos da orientação a objeto;

Proporcionar a modelagem de sistemas utilizando todos os conceitos da orientação a objeto; Módulo 7 UML Na disciplina de Estrutura de Sistemas de Informação, fizemos uma rápida passagem sobre a UML onde falamos da sua importância na modelagem dos sistemas de informação. Neste capítulo, nos aprofundaremos

Leia mais

Hibernate na sua aplicação JavaWeb

Hibernate na sua aplicação JavaWeb Hibernate na sua aplicação JavaWeb Mentoria de Projeto 01 21/10/2017 diegoquirino@gmail.com 1 Agenda Entender a diferença entre a JPA e o Hibernate; Gerar as tabelas em um banco de dados qualquer a partir

Leia mais

JPA: Persistência padronizada em Java

JPA: Persistência padronizada em Java JPA: Persistência padronizada em Java FLÁVIO HENRIQUE CURTE Bacharel em Engenharia de Computação flaviocurte.java@gmail.com Programação Orientada a Objetos X Banco de Dados Relacionais = Paradigmas diferentes

Leia mais

1.1. Definição do Problema

1.1. Definição do Problema 13 1 Introdução Uma das principais preocupações de área de engenharia de software diz respeito à reutilização [1]. Isso porque a reutilização no contexto de desenvolvimetno de software pode contribuir

Leia mais

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea BANCO DE DADOS Prof. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com SQL A Structed Query Language foi desenvolvida em 1974 nos laboratório da IBM em San José na Califórnia,

Leia mais

Framework Hibernate/JPA

Framework Hibernate/JPA 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

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos 1. Manipulando Atributos Podemos alterar ou acessar os valores guardados nos atributos de um objeto se tivermos a referência a esse objeto. Os atributos são acessados pelo nome. No

Leia mais

- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br

- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br Sistemas de Arquivos- Parte 2 Pontos importantes de um sistema de arquivos Vários problemas importantes devem

Leia mais

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 - Java Persistence API Entity Entity Campos e Propriedades Entity Chaves Primárias Entity Associações Entity Manager Entity Manager API Java Persistence Query Language (JPQL) Persistence Units 1 Java

Leia mais

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 - Java Persistence API Entity Entity Campos e Propriedades Entity Chaves Primárias Entity Associações Entity Manager Entity Manager API Java Persistence Query Language (JPQL) Persistence Units 1 Java

Leia mais

Introdução a Banco de Dados. INTRODUÇÃO

Introdução a Banco de Dados. INTRODUÇÃO INTRODUÇÃO O termo banco de dados é bastante popular em diversas áreas de atuação. Com o aumento da utilização de computadores na manipulação de dados que envolvem diversas aplicações, os bancos de dados

Leia mais

Processo de Desenvolvimento de Software

Processo de Desenvolvimento de Software Processo de Desenvolvimento de Software Programação Orientada a Objetos Prof. Francisco de Assis S. Santos, Dr. São José, 2015. Processo de Desenvolvimento de Software O desenvolvimento de software é uma

Leia mais

Padrões de Projeto. Factory Method

Padrões de Projeto. Factory Method Padrões de Projeto Padrões de Criação Factory Method Prof. Eduardo N F Zagari Prof. Ivan Granja Factory Method Também conhecido como Construtor Virtual Em muitas aplicações OO, um objeto cliente precisa

Leia mais

Programação Orientada a Objetos. Professor Leonardo Cabral - Larback

Programação Orientada a Objetos. Professor Leonardo Cabral - Larback Programação Orientada a Objetos Professor Leonardo Cabral - Larback Programação Orientada a Objetos O termo Programação Orientada a Objetos (POO) foi criado por Alan Kay (http://pt.wikipedia.org/wiki/alan_kay),

Leia mais

Mapeamento Lógico/Relacional com JPA

Mapeamento Lógico/Relacional com JPA Mapeamento Lógico/Relacional com JPA Elaine Quintino da Silva Doutora em Ciência da Computação pelo ICMC-USP/São Carlos Analista de Sistemas UOL PagSeguro Instrutora Globalcode Agenda! Persistência de

Leia mais

Tipos de Banco de Dados - Apresentação

Tipos de Banco de Dados - Apresentação Tipos de Banco de Dados - Apresentação Assunto: Tipo de Banco de Dados Professor: Altair Martins de Souza Disciplina: Banco de Dados Colégio Padre Carmelo Perrone 2 Ano - 2015 Tipos de Banco de Dados -

Leia mais

RESPOSTAS AOS QUESTIONAMENTOS ESCLARECIMENTOS EMPRESA B

RESPOSTAS AOS QUESTIONAMENTOS ESCLARECIMENTOS EMPRESA B RESPOSTAS AOS QUESTIONAMENTOS ESCLARECIMENTOS EMPRESA B Esclarecimento 1. Anexo I - Requisitos Funcionais a. Requisito/Item 1.1.6. Qual o software/tecnologia de gerenciamento de documentos utilizado atualmente

Leia mais

Desenvolvimento para Web com Java

Desenvolvimento para Web com Java Everton Coimbra de Araújo Desenvolvimento para Web com Java Visual Books Sumário Prefácio...13 Introdução...15 1 Preparando o Ambiente para o Desenvolvimento...19 1.1 Internet como Plataforma... 19 1.2

Leia mais

BANCO DE DADOS I AULA 2. Willamys Araújo willamysaraujo7@gmail.com

BANCO DE DADOS I AULA 2. Willamys Araújo willamysaraujo7@gmail.com BANCO DE DADOS I AULA 2 Willamys Araújo willamysaraujo7@gmail.com Modelagem de Dados Modelagem de dados é o estudo das informações existentes em um contexto sob observação para a construção de um modelo

Leia mais

PERSISTÊNCIA DE DADOS EM JAVA UTILIZANDO HIBERNATE: Mapeamento Objeto / Relacional

PERSISTÊNCIA DE DADOS EM JAVA UTILIZANDO HIBERNATE: Mapeamento Objeto / Relacional INTERFACE TECNOLÓGICA v.6 n.1 2009 PERSISTÊNCIA DE DADOS EM JAVA UTILIZANDO HIBERNATE: Mapeamento Objeto / Relacional José Osvano da SILVA * Luís Augusto Mattos MENDES ** Marcelo Caramuru Pimentel FRAGA

Leia mais

ruirossi@ruirossi.pro.br

ruirossi@ruirossi.pro.br 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

Leia mais

Documento de Requisitos do Sistema SISFOTO Sistema de gerenciamento de eventos fotográficos Versão 1.0

Documento de Requisitos do Sistema SISFOTO Sistema de gerenciamento de eventos fotográficos Versão 1.0 SISFOTO Sistema de Gerenciamento de Eventos Fotográficos do Sistema SISFOTO Sistema de gerenciamento de eventos fotográficos Versão 1.0 Histórico de Alterações Data Versão Descrição Autor 17/10/2014 1.0

Leia mais

Modelo Entidade Relacionamento (MER)

Modelo Entidade Relacionamento (MER) Banco de Dados Modelo Entidade Relacionamento (MER) Grau de Relacionamento Representa o número de entidades que participam do relacionamento. Grau 1 (Auto-relacionamento) Prof. Raquel Silveira Grau 2 (Binário)

Leia mais

Conexão com Banco de Dados

Conexão com Banco de Dados Conexão com Banco de Dados ORM Atualmente os novos sistemas que estão sendo desenvolvidos estão utilizando a técnica de ORM para fazer conexão e acesso a banco de dados. ORM é uma técnica de mapeamento

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel Programação Orientada a objetos Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do

Leia mais

Algoritmos e Programação II

Algoritmos e Programação II Algoritmos e Programação II Agenda Desenvolver Software Objetos Classes Estudo de algumas Classes da API Estudo de algumas Classes da API Pacotes Criando nossa primeira classe Desenvolver SOFTWARE GAP

Leia mais

BANCO DE DADOS. Professor: André Dutton

BANCO DE DADOS. Professor: André Dutton BANCO DE DADOS Professor: André Dutton BASES TECNOLÓGICAS Conceito de bases de dados. Modelos conceituais de informações. Modelos de dados: relacional, de redes e hierárquicos. Introdução à teoria relacional:

Leia mais

Glossário Versão 1.0 Desenvolvimento do Sistema de Gestão de Documentos Doc Manager Histórico de Revisão

Glossário Versão 1.0 Desenvolvimento do Sistema de Gestão de Documentos Doc Manager Histórico de Revisão Glossário Versão 1.0 Desenvolvimento do Sistema de Gestão de Documentos Doc Manager Cliente: São José Agroindustrial Representante do cliente: Paulo José de Souza Histórico de Revisão 1 Data Versão Descrição

Leia mais

SUMÁRIO PARTE I. Princípios de Projeto, a Linguagem de Modelagem Unificada (Unified Modeling Language, ou UML) e Projeto em Nível de Código

SUMÁRIO PARTE I. Princípios de Projeto, a Linguagem de Modelagem Unificada (Unified Modeling Language, ou UML) e Projeto em Nível de Código SUMÁRIO INTRODUÇÃO O processo de software.......21 0.1 INTRODUÇÃO AO PROCESSO DE SOFTWARE.21 0.1.1 As fases do processo de software.....21 0.1.2 Estilos do processo de software.......22 0.1.3 Procedimentos

Leia mais

Elementos básico de uma rede Samba - Local Master Browser

Elementos básico de uma rede Samba - Local Master Browser Servidor Samba Linux Samba é o protocolo responsável pela integração de máquinas Linux com Windows, permitindo assim a criação de redes mistas utilizando servidores Linux e clientes Windows. Samba, é uma

Leia mais

Lista de Exercícios Para a P2

Lista de Exercícios Para a P2 Técnicas de Projeto e Implementação de Sistemas I Lista de Exercícios Para a P2 1. Explique o conceito de padrões de projeto e o diferencie dos Frameworks e APIs. 2. Explique o conceito de composição em

Leia mais

3. Numerar a coluna da direita conforme a da esquerda 1) Classe (2) :Aluno 2) Um dado objeto (3) oaluno:aluno 3) Objeto (1) Aluno

3. Numerar a coluna da direita conforme a da esquerda 1) Classe (2) :Aluno 2) Um dado objeto (3) oaluno:aluno 3) Objeto (1) Aluno INFORMAÇÕES GERAIS CURSO: ENGENHARIA DE SOFTWARE DISCIPLINA: ANÁLISE E PROJETO DE SISTEMAS PROFESSOR: OSVALDO MESQUITA ANO.SEMESTRE: 2016.1 1. O que você entende por: a) Polimorfismo. Significa aquilo

Leia mais

Criando uma aplicação web. Parte 1

Criando uma aplicação web. Parte 1 Criando uma aplicação web Parte 1 Aplicações web Criaremos uma aplicação completa utilizando: Bancos de dados Modelo MVC JavaServer Faces (PrimeFaces) Um pouco sobre banco de dados Todas as aplicações

Leia mais

Persistência de Dados em Java com JPA e Toplink

Persistência de Dados em Java com JPA e Toplink Persistência de Dados em Java com JPA e Toplink Vinicius Teixeira Dallacqua Curso de Tecnologia em Sistemas para Internet Instituto Federal de Educação, Ciência e Tecnologia - IFTO AE 310 Sul, Avenida

Leia mais

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

Aula 2 - Revisão de JPA (Java Persistence API) Aula 2 - Revisão de JPA (Java Persistence API) Professor: Ricardo Luis dos Santos IFSUL 2015 Tabela para Revisão Assunto (JPA) Interesse? 1 Vantagens e Desvantagens 4 2 Principais Conceitos 7 3 Anotações

Leia mais

Banco de Dados. Banco de Dados. Conceitos Básicos. Banco de Dados SGBD SGBD. Fundamentos. Fernando Fonseca Ana Carolina.

Banco de Dados. Banco de Dados. Conceitos Básicos. Banco de Dados SGBD SGBD. Fundamentos. Fernando Fonseca Ana Carolina. Banco de Dados Banco de Dados Fundamentos Fernando Fonseca Ana Carolina Ana Carolina Salgado acs@cin.ufpe.br www.cin.ufpe.br/~acs Fernando Fonseca fdfd@cin.ufpe.br www.cin.ufpe.br/~fdfd Banco de Dados

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETO INTRODUÇÃO

PROGRAMAÇÃO ORIENTADA A OBJETO INTRODUÇÃO PROGRAMAÇÃO ORIENTADA A OBJETO INTRODUÇÃO A Programação Orientada ao Objeto deu seus primeiros passos ainda na década de 70. A sua origem vem da linguagem Simula (Simula Language) e como o nome indica

Leia mais

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

Java Persistence API. Entity Entity Campos e Propriedades Entity Chaves Primárias Entity Associações Java Persistence API Entity Entity Campos e Propriedades Entity Chaves Primárias Entity Associações Entity Manager Entity Manager API Java Persistence Query Language (JPQL) Persistence Units 1 Java Persistence

Leia mais

UTILIZAÇÃO DE ARQUITETURA EM CAMADAS BASEADA NO MODEL VIEW CONTROLLER, EM APLICAÇÕES WEB

UTILIZAÇÃO DE ARQUITETURA EM CAMADAS BASEADA NO MODEL VIEW CONTROLLER, EM APLICAÇÕES WEB UTILIZAÇÃO DE ARQUITETURA EM CAMADAS BASEADA NO MODEL VIEW CONTROLLER, EM APLICAÇÕES WEB Viviani Priscila Piloni VILHEGAS 1 RESUMO: Este trabalho procura mostrar a importância da utilização de um modelo

Leia mais

Structural Patterns - Proxy

Structural Patterns - Proxy Prover um controle de acesso para determinados objetos, de tal maneira que estes objetos estejam protegidos ou subordinados ao objeto proxy. A idéia é que o objeto produto seja acessível pela aplicação

Leia mais

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

Hibernate. Mapeamento Objeto-Relacional. Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior Hibernate Mapeamento Objeto-Relacional Baseado nas notas de aula de João Dalyson e Raphaela Galhardo Fernandes Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior Objetivos Aprender MOR usando Hibernate

Leia mais

Motivação Este trabalho apresenta o desenvolvimento do controle da interatividade num sistema para a área de computação gráfica, mais especificamente

Motivação Este trabalho apresenta o desenvolvimento do controle da interatividade num sistema para a área de computação gráfica, mais especificamente Viabilização da Análise de Interação em um Software Colaborativo para Modelagem de Objetos 3D Eduardo Barrére, Ana Luiza Dias e Claudio Esperança Motivação Este trabalho apresenta o desenvolvimento do

Leia mais

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

JPA Com Hibernate. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo JPA Com Hibernate Paulo Ricardo Lisboa de Almeida 1 Modelo Necessário Modelo Necessário 2 JPA Mapeamento Direto entre as classes e o banco de dados Orientação a objetos para modelo relacional Feito através

Leia mais

Guia de desenvolvimento de um aplicativo para o sistema operacional Android

Guia de desenvolvimento de um aplicativo para o sistema operacional Android Guia de desenvolvimento de um aplicativo para o sistema operacional Android Introdução Este documento será voltado para o desenvolvimento de um aplicativo na plataforma Android (sistema operacional do

Leia mais

SisJus Sistema de Cadastro de Processos Jurídicos. We are able to do the better Team. Setembro de 2009, Maceió AL

SisJus Sistema de Cadastro de Processos Jurídicos. We are able to do the better Team. Setembro de 2009, Maceió AL SisJus Sistema de Cadastro de Processos Jurídicos We are able to do the better Team Setembro de 2009, Maceió AL Sumário OBJETIVO...3 Objetivo geral...3 OBJETIVOS ESPECÍFICOS...3 Requisitos...4 Requisitos

Leia mais

JAVA ENTERPRISE EDITION: CRIAR BEANS DE ENTIDADE A PARTIR DE TABELAS

JAVA ENTERPRISE EDITION: CRIAR BEANS DE ENTIDADE A PARTIR DE TABELAS COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO JAVA ENTERPRISE EDITION: CRIAR BEANS DE ENTIDADE A PARTIR DE TABELAS FOZ DO IGUAÇU 2013 LISTA

Leia mais

Programação em JAVA. Subtítulo

Programação em JAVA. Subtítulo Programação em JAVA Subtítulo Sobre a APTECH A Aptech é uma instituição global, modelo em capacitação profissional, que dispõe de diversos cursos com objetivo de preparar seus alunos para carreiras em

Leia mais

3 Informações para Coordenação da Execução de Testes

3 Informações para Coordenação da Execução de Testes Informações para Coordenação da Execução de Testes 32 3 Informações para Coordenação da Execução de Testes Diversas ferramentas oferecidas na literatura têm auxiliado na coordenação da execução dos testes

Leia mais

País(es) : Brasil Banco(s) de Dados : Progress/Oracle

País(es) : Brasil Banco(s) de Dados : Progress/Oracle Release Incremental - Boletos Produto : TOTVS11 - Faturamento de Planos TOTVS 12.1.3 Chamado : D_GPS_A11 / PCREQ-2076 Data da publicação : 09/12/2014 País(es) : Brasil Banco(s) de Dados : Progress/Oracle

Leia mais

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

JPA Passo a Passo. Henrique Eduardo M. Oliveira henrique@voffice.com.br. Globalcode Open4Education JPA Passo a Passo Henrique Eduardo M. Oliveira henrique@voffice.com.br 1 Palestrante Henrique Eduardo M. Oliveira (henrique@voffice.com.br) > Trabalha: Arquiteto JEE / Instrutor Java > Formação: Ciências

Leia mais

Sistemas Distribuídos Capítulo 4 - Aula 5

Sistemas Distribuídos Capítulo 4 - Aula 5 Sistemas Distribuídos Capítulo 4 - Aula 5 Aula Passada Clusters de Servidores Migração de Código Comunicação (Cap. 4) Aula de hoje Chamada de Procedimento Remoto - RPC Fundamentos 1 Chamada de Procedimento

Leia mais

USANDO O PYTHON PARA ESCREVER PLUG-INS PARA O GIMP

USANDO O PYTHON PARA ESCREVER PLUG-INS PARA O GIMP QUINTO RELATÓRIO DE ESTUDOS 01 DE FEVEREIRO DE 2012 Aluno: Francisco Gerson Amorim de Meneses Orientadores: Helena C. G. Leitão / Marcos Lage Tema sugerido: Comparação de Técnicas para Segmentação de Imagens

Leia mais

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

Introdução. Configuração. Padrão POJO. Framework Pesistência de. Mapeamento Annotation. Objetos. Persistência. Java. Objetos. Prof. Introdução Configuração Padrão POJO Mapeamento Annotation Persistência Objetos Framework Pesistência de Objetos Java Prof. Enzo Seraphim O que é? Framework persistência de Objetos é uma moderna solução

Leia mais

NORMA TÉCNICA E PROCEDIMENTOS PARA REALIZAR ALTERAÇÕES NO BANCO DE DADOS CORPORATIVO

NORMA TÉCNICA E PROCEDIMENTOS PARA REALIZAR ALTERAÇÕES NO BANCO DE DADOS CORPORATIVO NORMA TÉCNICA E PROCEDIMENTOS PARA REALIZAR ALTERAÇÕES NO BANCO DE DADOS CORPORATIVO Referência: NT-AI.04.03.01 http://www.unesp.br/ai/pdf/nt-ai.04.03.01.pdf Data: 31/07/2000 STATUS: EM VIGOR A Assessoria

Leia mais

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

Série Rações Semanais JPA & Hibernate Rogério Araújo http://rogerioaraujo.wordpress.com Série Rações Semanais JPA & Hibernate Rogério Araújo http://rogerioaraujo.wordpress.com Série Rações Semanais JPA & Hibernate Rogério Araújo Questões A adversidade desperta

Leia mais

LINHAS MESTRAS; FASES; DISCIPLINAS; PRINCÍPIOS E MELHORES PRÁTICAS.

LINHAS MESTRAS; FASES; DISCIPLINAS; PRINCÍPIOS E MELHORES PRÁTICAS. INTRODUÇÃO O processo de engenharia de software define quem faz o quê, quando e como para atingir um determinado objetivo. Neste trabalho, iremos dissertar sobre o Rational Unified Process, ou RUP, que

Leia mais

Nº horas ESTRATÉGIAS RECURSOS AVALIAÇÃO

Nº horas ESTRATÉGIAS RECURSOS AVALIAÇÃO ANO: 10.º Curso Profissional Técnico de Informática de Gestão Disciplina: Linguagens de Programação ANO LECTIVO: 2008/2009 p.1/13 Módulo 1 Algoritmia 1 - Introdução à Lógica de Programação Lógica Sequência

Leia mais

Arquiteturas para Sistemas Distribuídos I

Arquiteturas para Sistemas Distribuídos I Arquiteturas para Sistemas Distribuídos I Pedro Ferreira Departamento de Informática Faculdade de Ciências da Universidade de Lisboa Tópicos Estilos Arquiteturais: formas de desenhar o software do SD Organização

Leia mais

Edições da característica do CallerID do CallManager

Edições da característica do CallerID do CallManager Edições da característica do CallerID do CallManager Índice Introdução Pré-requisitos Requisitos Componentes Utilizados Convenções Nome do CallManager e da chamada originada Indicador IE NI2/NI3 CNID (Bellcore

Leia mais

Técnicas de Programação para a Web. Luiz Cláudio Silva. Novembro de 2005. Apresentação

Técnicas de Programação para a Web. Luiz Cláudio Silva. Novembro de 2005. Apresentação Técnicas de Programação para a Web Luiz Cláudio Silva Novembro de 2005 Apresentação Objetivos Gerais Identificar os diversos modelos de funcionamento de uma aplicação Web Citar as caracterísitcas de uma

Leia mais

Árvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos

Árvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos Árvores Parte 1 Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos Árvores uma introdução As listas apresentadas na aula anterior formam um conjunto de TADs extremamente importante

Leia mais

BANCO DE DADOS WEB AULA 7. criação de tabelas. professor Luciano Roberto Rocha.

BANCO DE DADOS WEB AULA 7. criação de tabelas. professor Luciano Roberto Rocha. BANCO DE DADOS WEB AULA 7 criação de tabelas professor Luciano Roberto Rocha www.lrocha.com Arquitetura de um Banco de Dados Todos os dados de um banco conceitualmente são organizados no formato de tabelas,

Leia mais

1. Importações Cordilheira

1. Importações Cordilheira 1. Importações Cordilheira 1.1. Nf-e (Entrada) Esta rotina tem como objetivo importar as Notas Fiscais de Entrada correspondentes ao Estabelecimento, a partir de uma nota de saída de seu fornecedor. Selecione

Leia mais

5 - Qual é a principal vantagem de desenvolvimento de código por pares:

5 - Qual é a principal vantagem de desenvolvimento de código por pares: 1 - Quais são os atributos essenciais de um bom software: a) Ser baseado numa boa linguagem de programação b) Fácil manutenção, segurança, eficiência e aceitabilidade c) Fácil manutenção e simplicidade

Leia mais

Criando uma aplicação web

Criando uma aplicação web Criando uma aplicação web Aplicações web Criaremos uma aplicação completa utilizando: Bancos de dados Modelo MVC JavaServer Faces (PrimeFaces) Um pouco sobre banco de dados Todas as aplicações precisam

Leia mais

Arquitetura de Banco de Dados

Arquitetura de Banco de Dados Arquitetura de Banco de Dados Modelos de Dados Alto Nível Utilizam conceitos tais como Entidades, Atributos e Relacionamentos. Uma entidade é um objeto que é representado na base de dados. Um atributo

Leia mais

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

JPA Com Hibernate. Paulo Ricardo Lisboa de Almeida. Dados Transientes e Relacionamentos. 1 Universidade Positivo JPA Com Hibernate Dados Transientes e Relacionamentos Paulo Ricardo Lisboa de Almeida 1 Instanciando a aplicação Clone o projeto da aula passada com o Git (disponível no site da disciplina) Suba o banco

Leia mais

Atividades de Treinamento. Carregando programas na família GTI100. HI Tecnologia Indústria e Comércio Ltda. Documento de acesso Público

Atividades de Treinamento. Carregando programas na família GTI100. HI Tecnologia Indústria e Comércio Ltda. Documento de acesso Público Carregando programas na família GTI100 HI Tecnologia Indústria e Comércio Ltda. Documento de acesso Público EAT.42911 Versão 1.0 24 de Novembro de 2014 Apresentação Este documento foi elaborado pela HI

Leia mais

de rede são comumente utilizadas nos dias de hoje. Um dos grandes desafios para a tecnologia de redes sem fio no momento é o handoff vertical, onde

de rede são comumente utilizadas nos dias de hoje. Um dos grandes desafios para a tecnologia de redes sem fio no momento é o handoff vertical, onde 15 1 Introdução A utilização e a popularidade dos dispositivos móveis crescem a cada dia. Mobilidade, flexibilidade, facilidade de comunicação e entretenimento proporcionado por dispositivos, como laptops,

Leia mais

Aplicando Composição e Orquestração de Serviços na Organização de Sistemas

Aplicando Composição e Orquestração de Serviços na Organização de Sistemas Aplicando Composição e Orquestração de Serviços na Organização de Sistemas Silva, Leo Moreira Centro Federal de Educação Tecnológica do Rio Grande do Norte (CEFET-RN) CEP 59015-000 Natal RN Brazil 1. Introdução

Leia mais

Rascunho Autor:Ivan Salvadori. JPA com Hibernate

Rascunho Autor:Ivan Salvadori. JPA com Hibernate Rascunho Autor:Ivan Salvadori JPA com Hibernate 1. Introdução ao JPA com Hibernate. JPA ou Java Persistence API, é uma padronização da linguagem Java, para mapeamento objeto/relacional. Em outras palavras,

Leia mais

Linguagens e Técnicas de Programação II

Linguagens e Técnicas de Programação II Linguagens e Técnicas de Programação II Modelagem Orientada a Objetos Renato Dourado Maia Universidade Estadual de Montes Claros Sistemas de Informação Lembrando Na Unidade I Gerenciando a Complexidade,

Leia mais

Geração de Nota Fiscal Eletrônica de Serviço (06085)

Geração de Nota Fiscal Eletrônica de Serviço (06085) Geração de Nota Fiscal Eletrônica de Serviço (06085) O objetivo deste pacote é gerar o recibo provisório de serviço (RPS), efetuar o envio para o provedor dos serviços de nota eletrônica de cada município

Leia mais

aumento de custos de armazenamento e acesso performance baixa incoerência de informações nas alterações de dados

aumento de custos de armazenamento e acesso performance baixa incoerência de informações nas alterações de dados Modelagem de Dados A Informática é a Ciência da Informação. Os computadores e programas surgiram devido à necessidade de manipular informações de forma cada vez mais eficiente e veloz. As informações são

Leia mais

4 Um processo para a elaboração de perguntas de questionários para a elicitação de requisitos de software

4 Um processo para a elaboração de perguntas de questionários para a elicitação de requisitos de software 4 Um processo para a elaboração de perguntas de questionários para a elicitação de requisitos de software Esse capítulo tem por objetivo apresentar um método que foi criado com objetivo de prover ao Engenheiro

Leia mais

Lista de Exercícios Dissertativo

Lista de Exercícios Dissertativo Lista de Exercícios Dissertativo 1. Um dos alicerces da sociedade é a comunicação, e o homem, desde a antiguidade, busca desenvolver tecnologias para permitir a comunicação em quantidade e com qualidade.

Leia mais

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

AULA 07 HIBERNATE. Ao término desse capítulo você terá aprendido: Fundamentos do MVC Estrutura dos pacotes no NetBeans AULA 07 HIBERNATE Ao término desse capítulo você terá aprendido: Fundamentos do MVC Estrutura dos pacotes no NetBeans O JDBC é uma das maneiras mais diretas para desenvolver um aplicativo Java que interaja

Leia mais

Assina S_Line Manual de Uso

Assina S_Line Manual de Uso 1. Introdução O Assina S_Line permite assinar digitalmente Resultados de Exames gerados no formato S_Line em XML ou PDF, fazendo uma cópia dos mesmos em um diretório definido pelo Cliente. Os documentos

Leia mais

Atualização de Software Guia do Usuário

Atualização de Software Guia do Usuário Atualização de Software Guia do Usuário Copyright 2009 Hewlett-Packard Development Company, L.P. Windows é uma marca registrada da Microsoft Corporation nos Estados Unidos. As informações contidas neste

Leia mais

Carlos S. Rodrigues Leonardo Lino Vieira Eric Felipe Barboza Antonio Vasconcellos

Carlos S. Rodrigues Leonardo Lino Vieira Eric Felipe Barboza Antonio Vasconcellos Carlos S. Rodrigues Leonardo Lino Vieira Eric Felipe Barboza Antonio Vasconcellos Introdução Necessidade de diminuir a complexidade na interação código-banco de dados para o programador,além de diminuir

Leia mais

1 Manual de Utilização

1 Manual de Utilização 1 Manual de Utilização 1.1 Instalação O SCS apresenta alguns pré-requisitos e exige uma pequena configuração do sistema antes de poder ser utilizado. 1.1.1 Pré-Requisitos Para instalar o SCS, são necessários

Leia mais

Método Simplex Revisado

Método Simplex Revisado Método Simplex Revisado Prof. Fernando Augusto Silva Marins Departamento de Produção Faculdade de Engenharia Campus de Guaratinguetá UNESP www.feg.unesp.br/~fmarins fmarins@feg.unesp.br Introdução Método

Leia mais

Nota Fiscal Eletrônica

Nota Fiscal Eletrônica Nota Fiscal Eletrônica Acessar a página www.passaquatro.mg.gov.br, ir a SERVIÇOS e clicar em NFS-e que será redirecionado para a tela de autenticação do usuário e precisará informar o Usuário (Login) e

Leia mais

Importação de Dados Raster no TerraView

Importação de Dados Raster no TerraView Importação de Dados Raster no TerraView 1 Introdução Esse documento explica a interface de importação de dados matriciais no TerraView. Dados matriciais devem ser entendidos como qualquer dado armazenado

Leia mais

CAGED Manual de Configuração Certificado Digital do Aplicativo CAGEDNET

CAGED Manual de Configuração Certificado Digital do Aplicativo CAGEDNET CAGED Manual de Configuração Certificado Digital do Aplicativo CAGEDNET Página 1 de 8 CAGED Net O aplicativo CAGED Net é a solução desktop para o envio de declarações CAGED que contempla as regras de obrigatoriedade

Leia mais

Qualidade de Produto. Maria Cláudia F. P. Emer

Qualidade de Produto. Maria Cláudia F. P. Emer Qualidade de Produto Maria Cláudia F. P. Emer Introdução Qualidade diretamente ligada ao produto final Controle de qualidade Adequação do produto nas fases finais no processo de produção Software Atividades

Leia mais

e-nota G Módulo de Guarda da Nota Fiscal eletrônica

e-nota G Módulo de Guarda da Nota Fiscal eletrônica Página1 e-nota G Módulo de Guarda da Nota Fiscal eletrônica Manual do Usuário Produzido por: Informática Educativa Página2 Índice 1. Safeweb e-nota G... 03 2. O que é XML... 04 3. Acesso e-nota G... 06

Leia mais

Microcontroladores e Microprocessadores. Conversão de Bases Prof. Samuel Cavalcante

Microcontroladores e Microprocessadores. Conversão de Bases Prof. Samuel Cavalcante Microcontroladores e Microprocessadores Conversão de Bases Prof. Samuel Cavalcante Conteúdo Conversão de Qualquer base para Decimal Decimal para Binário Hexadecimal para binário Componentes básicos de

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software - 2ª Lista de Exercícios - Questões Discursivas Questão 1) O que você entende por processo de software e qual a sua importância para a qualidade dos produtos de software? Qual a

Leia mais

Oracle Database: Programação com PL/SQL

Oracle Database: Programação com PL/SQL Oracle University Contact Us: 1.800.529.0165 Oracle Database: Programação com PL/SQL Duration: 5 Days What you will learn Este curso faz uma introdução ao PL/SQL e apresenta as vantagens dessa avançada

Leia mais

Introdução. Introdução a Sistemas de Banco de Dados. Introdução. Evolução. por Juliano Tonezer da Silva tonezer@(upf.tche.br, dinf.unisc.

Introdução. Introdução a Sistemas de Banco de Dados. Introdução. Evolução. por Juliano Tonezer da Silva tonezer@(upf.tche.br, dinf.unisc. Introdução Introdução a Sistemas de Banco de Dados por Juliano Tonezer da Silva tonezer@(upf.tche.br, dinf.unisc.br)! Utilização inicial dos computadores! dados numéricos! quantidade limitada de informações!

Leia mais