JPA DAO Genérico e JPQL

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

Download "JPA DAO Genérico e JPQL"

Transcrição

1 JPA DAO Genérico e JPQL Paulo Ricardo Lisboa de Almeida 1

2 Criando um DAO JPA public abstract class GenericDAO<ID,U>{... Onde T definirá a chave dos objetos, e U definirá os objetos em si (da mesma forma que no IGeneriDAO criado para o JDBC) 2

3 Atributos do Generic DAO Atributos O que significa o EntitymanagerFactory ser static final? private static final EntityManagerFactory emf = Persistence.createEntityManagerFactory("clinica_pu"); private EntityManager em; private Class<U> entityclass; 3

4 Atributos do Generic DAO Atributos O que significa o EntitymanagerFactory ser static final? Temos somente um factory para a aplicação inteira Instanciar o factory é extremamente custoso. Portanto ele deve ser criado somente uma vez private static final EntityManagerFactory emf = Persistence.createEntityManagerFactory("clinica_pu"); private EntityManager em; private Class<U> entityclass; 4

5 O Construtor public GenericDAO(Class<U> entityclass) { this.entityclass = entityclass; 5

6 Métodos Básicos da Classe public void begintransaction() { em = emf.createentitymanager(); em.gettransaction().begin(); public void commit() { em.gettransaction().commit(); public void rollback() { em.gettransaction().rollback(); public void rollbackandclosetransaction() { try{ this.em.gettransaction().rollback(); finally{ this.closetransaction(); 6

7 Métodos Básicos da Classe private void closetransaction() { this.em.close(); public void commitandclosetransaction() { try{ this.commit(); finally{ this.closetransaction(); public void flush() { em.flush(); 7

8 Métodos Para Manipulação de Objetos public void save(u entity) { em.persist(entity); public void delete(u entity) { em.refresh(entity); em.remove(entity); public U update(u entity) { return em.merge(entity); public U find(id entityid) { return em.find(entityclass, entityid); public U findreferenceonly(id entityid) { try{ return em.getreference(entityclass, entityid); catch(entitynotfoundexception e){ return null; 8

9 Quando e como fechamos o EntityManagerFactory? Pode-se capturar um evento de fechamento da aplicação e fechar o factory Pode-se também utilizar APIs que gerenciam o factory automaticamente, criar um FactoryUtils, etc. No exemplo, o factory deverá ser fechado manualmente através do método do GenericDAO: public static void fecharentitymanagerfactory(){ emf.close(); 9

10 Estendendo o DAO public class PessoaDAO extends GenericDAO<Integer, Pessoa>{ public PessoaDAO() { super(pessoa.class); 10

11 Utilizando o DAO public static void main(string[] args) { PessoaDAO pessoadao = new PessoaDAO(); try{ pessoadao.begintransaction(); Pessoa p = pessoadao.find(6); System.out.println(p.getNome()); for(animal a : p.getanimais()) System.out.println(a.getNome()); pessoadao.commitandclosetransaction(); System.out.println("Fim!!!"); catch(exception e){ pessoadao.rollbackandclosetransaction(); e.printstacktrace(); finally{ GenericDAO.fecharEntityManagerFactory(); System.out.println("Saindo!!!"); 11

12 JPQL Java Persistence Query Language Forma de fazer consultas orientadas a objetos Independente de banco de dados Flexibilidade nas consultas 12

13 JPQL - EXEMPLO public class PessoaDAO extends GenericDAO<Integer, Pessoa>{ public List<Pessoa> listar(){ String sql = "select p from Pessoa p"; Query query = List<Pessoa> retorno = query.getresultlist(); return retorno; Repare que no comando select Pessoa se refere a classe Pessoa (inclusive o P de Pessoa necessariamente deve ser maiúsculo, como o nome na classe) e não a tabela pessoa do banco de dados. 13

14 @SuppressWarnings("unchecked") Type safety: The expression of type List needs unchecked conversion to conform to List<Pessoa> PessoaDAO.java Não é possível verificar em tempo de compilação o tipo T da lista retornada por getresultlist Type Erasure re.html O Generic em Java não é covariante List<Pessoa> retorno = query.getresultlist(); 14

15 JPQL Queries mais complexas Exemplo de método para retornar uma lista de pessoas que possuem animais de um tipo específico: public List<Pessoa> listarpessoasquepossuemtipoanimal(integer idtipoanimal){ String sql = "select p from Pessoa p" + " inner join p.animais a" + " where a.tipoanimal.id = :idtipoanimal" + " group by p"; Query query = super.getentitymanager().createquery(sql); query.setparameter("idtipoanimal", List<Pessoa> retorno = query.getresultlist(); return retorno; 15

16 JPQL Queries mais Complexas Note o bind entre o parâmetro : idtipoanimal e o identificador do tipoanimal especificado pelo query.setparameter("idtipoanimal", idtipoanimal); 16

17 Join Fetch Caso seja necessário criar uma consulta JPQL que busque uma pessoa e sua lista de animais de maneira eager, devese utilizar um join fetch. Ex.: public Pessoa findeager(integer id){ String sql = "select p from Pessoa p " + " inner join fetch p.animais" + " where p.id = :idpessoa"; TypedQuery<Pessoa> query = super.getentitymanager().createquery(sql, Pessoa.class); query.setparameter("idpessoa", id); try { Pessoa retorno = query.getsingleresult(); return retorno; catch (NoResultException ex) { return null; 17

18 TypedQuery TypedQuery é o mesmo que Query, porém o TypedQuery força o tipo retornado (no caso para pessoa), diminuindo a probabilidade de erros de programação Alguns erros podem ser pegos em tempo de compilação. 18

19 JPQL - Performance Ao criar uma consulta dentro de um método, como no exemplo, o código JPQL precisa ser interpretado e transformado em um código sql válido para o banco. 19

20 Named Query São comandos JPQL pré-processados no momento da inicialização da unidade de persistência Anotações nas classes das entidades Uma named query deve ter um nome único, portanto é uma boa prática colocar NOME_ENTIDADE.NOME_QUERY para que isso @NamedQuery (name="pessoa.findbycpf", query = " SELECT p FROM Pessoa p where p.cpf = :cpf" ) public class Pessoa {... 20

21 Utilizando Uma Named Query Dentro do DAO public class PessoaDAO extends GenericDAO<Integer, Pessoa>{ public Pessoa findbycpf(integer cpf){ Query query = super.getentitymanager().createnamedquery("pessoa.findbycpf"); query.setparameter("cpf", cpf);... Pessoa retorno = (Pessoa)query.getSingleResult(); return retorno; 21

22 Single Result query.getsingleresult() especifica que somente um item será retornado. Se não existir o item no banco, será lançada uma exceção NoResultException Retornando null caso o item não exista no banco: public Pessoa findbycpf(integer cpf){ Query query = super.getentitymanager().createnamedquery("pessoa.findbycpf"); query.setparameter("cpf", cpf); try { Pessoa retorno = (Pessoa)query.getSingleResult(); return retorno; catch (NoResultException ex) { return null; 22

23 Múltiplas Named QUeries Utiliza-se @NamedQuery (name="pessoa.findbycpf", query = " SELECT p FROM Pessoa p where p.cpf = :cpf" query="select p FROM Pessoa p WHERE c.nascimento is null"), ) 23

24 Problemas com Named Queries? public List<Pessoa> listar(boolean ordenacaoascendente){ String strorderby; if(ordenacaoascendente == true) strorderby = " order by p.nome asc"; else strorderby = " order by p.nome desc"; String sql = "select p from Pessoa p" + strorderby; Query query = List<Pessoa> retorno = query.getresultlist(); return retorno; 24

25 Problemas com Named Queries? As consultas devem ser pré-definidas A seguinte query não pode se tornar uma named query, pois o comando é construído dinamicamente. public List<Pessoa> listar(boolean ordenacaoascendente){ String strorderby; if(ordenacaoascendente == true) strorderby = " order by p.nome asc"; else strorderby = " order by p.nome desc"; String sql = "select p from Pessoa p" + strorderby; Query query = List<Pessoa> retorno = query.getresultlist(); return retorno; 25

26 Fim! Resolva os exercícios propostos 26

JPQL (Java Persistence Query language)

JPQL (Java Persistence Query language) JPQL (Java Persistence Query language) Uma query SELECT JPQL é formada pelas cláusulas SELECT e FROM (obrigatórias) e mais 4 cláusulas opcionais com o seguinte formato: SELECT... FROM... [WHERE...] [GROUP

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

JPA Java Persistence API. Prof. Ramon Chiara

JPA Java Persistence API. Prof. Ramon Chiara 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

Leia mais

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

JPA Demonstração das Estratégias Optimistic Locking e Pessimistic Locking JPA Demonstração das Estratégias Optimistic Locking e Pessimistic Locking Locking é uma técnica para tratamento de concorrência em transações em bases de dados. Quando duas ou mais transações em bases

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

Mapeamento da herança em JPA

Mapeamento da herança em JPA Mapeamento da herança em JPA Impedance mismatch é o termo usado para descrever as dificuldades em mapear o estado de um objecto num registo de uma tabela de uma base de dados relacional. Na modelação orientada

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

Consultas com Java Persistence Query Language. Prof. Fellipe Aleixo

Consultas com Java Persistence Query Language. Prof. Fellipe Aleixo Consultas com Java Persistence Query Language Prof. Fellipe Aleixo [email protected] Consultas e JPQL Consultas são um recurso fundamental de todos os bancos de dados relacionais Consultas em

Leia mais

Java Persistence Query Language JPQL

Java Persistence Query Language JPQL Introdução SELECT FROM WHERE GROUP BY HAVING ORDER BY Java Persistence Query Language JPQL Prof. Enzo Seraphim Definições Tornar SQL orientado a objetos Classes e propriedades ao invés de Tabelas e colunas

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 [email protected] 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

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

Agenda. Instalação e configuração. Processamento de comandos SQL com JDBC. Driver JDBC Criação da classe de conexão Agenda Instalação e configuração Driver JDBC Criação da classe de conexão Processamento de comandos SQL com JDBC Gerenciamento de conexões Execução simples de consultas Tratamento de exceções Instalação

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 [email protected] Programação Orientada a Objetos X Banco de Dados Relacionais = Paradigmas diferentes

Leia mais

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

Desenvolva de qualquer sistema operacional para qualquer sistema operacional. Sem limites. Desenvolva de qualquer sistema operacional para qualquer sistema operacional. Sem limites. Gabriel Pereira, Especialista em Java da Clarify Projete e desenvolva situações de Mercado com a criação de um

Leia mais

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

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 .1 JDBC A linguagem Java possui classes que permitem a com um banco de dados. Essas classes fazem parte do pacote JDBC (Java Database Connectivity), uma API (Application Program Interface) que permite

Leia mais

Tecnologias Java JDBC. Marcio Seiji Oyamada [email protected]

Tecnologias Java JDBC. Marcio Seiji Oyamada msoyamada@gmail.com Tecnologias Java JDBC Marcio Seiji Oyamada [email protected] JDBC JDBC: Java Database Connectivity API Java para acessar dados armazenados em um Banco de Dados Conectar a um banco dados Enviar consultas

Leia mais

Tratamento de Erros. Sérgio Luiz Ruivace Cerqueira

Tratamento de Erros. Sérgio Luiz Ruivace Cerqueira Tratamento de Erros Sérgio Luiz Ruivace Cerqueira [email protected] Agenda Introdução Try, catch, finally Unchecked Exceptions Como levantar exceções Boas práticas O problema Calculadora numero1:

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Engenharia de Software Arquitetura de Software Prof.: Fabrízzio A A M N Soares [email protected] Aula 12 Consultas JPQL Consultas JPQL Consultas em JPQL

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

DATA ACCESS OBJECT (DAO)

DATA ACCESS OBJECT (DAO) Universidade de São Paulo, Instituto de Ciências Matemáticas e de Computação DATA ACCESS OBJECT (DAO) SSC 621: Análise e Projeto Orientados a Objetos Prof. Dr. Lucas Bueno R. Oliveira 2º Semestre 2015

Leia mais

Atributos e Métodos Estáticos

Atributos e Métodos Estáticos Atributos e Métodos Estáticos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno [email protected] Fonte: Material da Profª Karina Oliveira Atributos Estáticos Atributos

Leia mais

Padrão J2EE Data Access Object (DAO)

Padrão J2EE Data Access Object (DAO) Introdução CRUD DAO Exemplo Padrão J2EE Data Access Object (DAO) Prof. Enzo Seraphim Motivação para usar Componentes precisam acessar e armazenar informações em armazenamento persistente As APIs de armazenamento

Leia mais

Linguagem de Programação II Implementação

Linguagem de Programação II Implementação Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Coisas que você não sabia sobre Generics

Coisas que você não sabia sobre Generics _generics Coisas que você não sabia sobre Generics Veja neste artigo como tirar todo proveito da utilização de tipos genéricos na linguagem Java. Eduardo Guerra [email protected] é desenvolvedor de frameworks,

Leia mais

ANÁLISE E PROJETO DE BANCO DE DADOS

ANÁLISE E PROJETO DE BANCO DE DADOS ANÁLISE E PROJETO DE BANCO DE DADOS SQL FELIPE G. TORRES SQL A linguagem SQL (Struct Query Language) é utilizada como padrão em bancos de dados relacionais. Seu desenvolvimento foi originalmente no início

Leia mais

Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos

Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos 1. Para a construção de uma aplicação gráfica se faz necessário conceber a interface de aplicação, identificando-se

Leia mais

JDBC - Java Data Base Connectivity

JDBC - Java Data Base Connectivity JDBC - Java Data Base Connectivity JDBC API para Bases de Dados relacionais. Permite o desenvolvimento de aplicac~oes que interagem com BD relacionais de modo uniforme e independente dos diferentes SGBD.

Leia mais

[email protected]

ruirossi@ruirossi.pro.br Persistência Com JPA & Hibernate Rui Rossi dos Santos [email protected] Mediador: Rui Rossi dos Santos Slide 1 Mapeamento Objeto-Relacional Contexto: Linguagem de programação orientada a objetos

Leia mais

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho [email protected] Programa Capítulo 9 Tratamento de Exceções Assertivas 1 Programa Capítulo 9 Tratamento

Leia mais

Tratamento de Exceções

Tratamento de Exceções Tratamento de Exceções Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno [email protected] Fonte: Material da Profª Karina Oliveira Introdução Exceções São eventos que

Leia mais

Classe. Objeto é uma instância de uma classe. Classe é onde conceituamos o objeto É a essência do objeto Define os atributos e métodos

Classe. Objeto é uma instância de uma classe. Classe é onde conceituamos o objeto É a essência do objeto Define os atributos e métodos Criação de Objetos e Acesso à Métodos Prof. Bruno Gomes [email protected] Programação Orientada a Objetos Introdução Classe Classe é onde conceituamos o objeto É a essência do objeto Define os atributos

Leia mais

1) Responda de acordo com os conceitos de orientação a objetos (0,5).

1) Responda de acordo com os conceitos de orientação a objetos (0,5). Avalição II (Teórica) 22/06/2017 Disciplina Linguagem de Programação II Prof. Wagner, dos Santos C. de Jesus Curso Engenharia da Computação Questões Solução da Avaliação 1) Responda de acordo com os conceitos

Leia mais

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Andrew Diniz da Costa [email protected] Programa Capítulo 9 Tratamento de Exceções Assertivas Programa Capítulo

Leia mais

[Desenvolvimento OO com Java] Exceções e controle de erros

[Desenvolvimento OO com Java] Exceções e controle de erros Centro Tecnológico Departamento de Informática Prof. Vítor E. Silva Souza http://www.inf.ufes.br/~vitorsouza [Desenvolvimento OO com Java] Exceções e controle de erros Este obra está licenciada com uma

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

Desenvolvimento Web com Java. Sérgio Lopes Caelum -

Desenvolvimento Web com Java. Sérgio Lopes Caelum - Desenvolvimento Web com Java Sérgio Lopes Caelum - http://www.caelum.com.br [email protected] Sérgio Lopes Desenvolvedor Java desde 2002 Instrutor de Java pela Caelum Trabalho com Web e Celulares

Leia mais

PROJETO ECLIPSE: Estrutura do projeto: (Dynamic Web Project) LIBS: Java WebDeveloper. Prof. Edson Belém

PROJETO ECLIPSE: Estrutura do projeto: (Dynamic Web Project) LIBS: Java WebDeveloper. Prof. Edson Belém PROJETO ECLIPSE: Estrutura do projeto: (Dynamic Web Project) LIBS: antlr-2.7.7.jar aspectjweaver-1.8.13.jar attoparser-2.0.4.release.jar classmate-1.3.4.jar dom4j-1.6.1.jar hibernate-commons-annotations-5.0.1.final.jar

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

Utilizando Swing com Hibernate

Utilizando Swing com Hibernate Programando com Java Artigo http://mballem.wordpress.com/ Utilizando Swing com Hibernate Utilizando a SessionFactory Autor Marcio Ballem: é formado em Sistemas de Informação e possui certificação Oracle

Leia mais

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... } Recapitulando Orientação a objetos: programas organizados em torno da definição de classes, instanciação de objetos e troca de mensagens. Declaração de variáveis de referencia: Circle c; Criação/instanciação

Leia mais

Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes.

Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes. JAVA ENCAPSULAMENTO Na linguagem de programação Java, a classe é o alicerce para o encapsulamento, o qual é definido como uma técnica que faz com que os atributos da classe permaneçam ocultos, pois desta

Leia mais

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java Guia da Sintaxe do Java TIPOS PRIMITIVOS DE DADOS DO JAVA São os tipos nativos de dados do Java, que podem ser usados na declaração de atributos, variáveis, parâmetros. Tipo primitivo Tamanho Valor padrão

Leia mais

Linguagem de Programação II Implementação

Linguagem de Programação II Implementação Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos

Leia mais

Criar uma aplicação JPA2 com EclipseLink e H2

Criar uma aplicação JPA2 com EclipseLink e H2 Criar uma aplicação JPA2 com EclipseLink e H2 1) Criar uma aplicação Java no NetBeans. File > New Project > Java, Java Application > Project name: JPA2 Finish. 2) Acrescentar ao Projeto NetBeans a biblioteca

Leia mais

Threads. O que é uma Thread? Paralelismo

Threads. O que é uma Thread? Paralelismo Threads em Java 1 O que é uma Thread? Paralelismo Threads Multi- threading é o mecanismo de concorrência suportado explicitamente pela linguagem Java. Os mecanismos de gerenciamento e sincronização de

Leia mais

Exceções. SCC0504 Programação Orientada a Objetos. Luiz Eduardo Virgilio da Silva ICMC, USP

Exceções. SCC0504 Programação Orientada a Objetos. Luiz Eduardo Virgilio da Silva ICMC, USP SCC0504 Programação Orientada a Objetos Exceções Luiz Eduardo Virgilio da Silva ICMC, USP Parte do material foi obtido com os professores: José Fernando Junior (ICMC/USP) Sumário Introdução Tipos de exceção

Leia mais

Módulo 5. Programação Orientada a Objetos. Programação Orientada a Objetos I Java (Rone Ilídio)

Módulo 5. Programação Orientada a Objetos. Programação Orientada a Objetos I Java (Rone Ilídio) Módulo 5 Programação Orientada a Objetos Programação Orientada a Objetos I Java (Rone Ilídio) Programação Orientada a Objetos Registro em Pascal: Type Cliente = Record Nome: String; Telefone: String; Idade:

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Sistemas de Informações Arquitetura de Software Prof.: Fabrízzio A A M N Soares [email protected] Aula 7 JPA A Persistência com JPA Para configurar o JPA

Leia mais

Programação Orientada a Objetos SANTOS, Rafael (PLT)

Programação Orientada a Objetos SANTOS, Rafael (PLT) Programação Orientada a Objetos SANTOS, Rafael (PLT) Possibilita atribuições em sequência na mesma instrução Retorna o valor atribuído Atribuições compostas: incluem a própria variável: +=, *=, -=, etc

Leia mais

Introdução. Atributos em Java. Atributos. Acesso à atributos em Java. Atributo versus variável. Atributos, métodos e encapsulamento.

Introdução. Atributos em Java. Atributos. Acesso à atributos em Java. Atributo versus variável. Atributos, métodos e encapsulamento. Introdução Atributos, métodos e encapsulamento [email protected] Atributos Ipos de acesso: private, public, protected e default Encapsulamento Métodos Construtores Criando objetos Departamento de Ciências

Leia mais

JPA Com Hibernate Aula 2

JPA Com Hibernate Aula 2 JPA Com Hibernate Aula 2 Paulo Ricardo Lisboa de Almeida 1 Modelo Necessário Modelo Necessário 2 Dados Transientes Quando criamos determinada propriedade em uma classe, mas essa propriedade não deve ser

Leia mais

Programação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos

Programação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos Programação Orientada a Objetos: Herança Alexandre César Muniz de Oliveira Análise e Projeto Orientados a Objetos A análise orientada a objetos Determina o que o sistema deve fazer: Quais os atores envolvidos?

Leia mais

9 Exceções. Desenvolvimento OO com Java. Vítor E. Silva Souza ~ vitorsouza

9 Exceções. Desenvolvimento OO com Java. Vítor E. Silva Souza  ~ vitorsouza Desenvolvimento OO com Java 9 Exceções Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador) Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça Problema: Definir uma dependência um-para-muitos entre objetos, de forma quando o estado

Leia mais

Evento.java. package dominio;

Evento.java. package dominio; Evento.java package dominio; import java.util.date; import java.util.set; import javax.persistence.entity; import javax.persistence.fetchtype; import javax.persistence.generatedvalue; import javax.persistence.generationtype;

Leia mais

Hibernate. Mapeamento O/R Marcio Aguiar Ribeiro [email protected]

Hibernate. Mapeamento O/R Marcio Aguiar Ribeiro aguiar.marcio@gmail.com Hibernate Mapeamento O/R Marcio Aguiar Ribeiro [email protected] Hibernate O que é? Ferramenta para mapeamento O/R em Java Uma das mais difundidas Transparência Independência quanto ao tipo de base

Leia mais

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA Pilhas Estrutura de Dados A Estrutura de Dados Pilha Pilha é uma estrutura de dados usada em programação, que tem uma regra

Leia mais

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; } Lista 05 Herança 1. Analisando a classe Java abaixo podemos observar que a mesma possui apenas um atributo, um construtor e dois métodos. Perceba que dentro do método main estão sendo invocados métodos

Leia mais

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos Encapsulamento e Métodos (Construtores e Estáticos) Sobrecarga de Métodos João Paulo Q. dos Santos [email protected] Roteiro Conceitos sobre Encapsulamento; Variável this; Métodos Construtores;

Leia mais

Herança. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.

Herança. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno. Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno [email protected] Fonte: Material da Profª Karina Oliveira Possibilita o reuso de classes (código-fonte) Usar quando:

Leia mais

Tratamento de Exceções em Java

Tratamento de Exceções em Java Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Tratamento de Exceções em Java Professor: César Melo Slides baseados em materiais preparados pela Profa.

Leia mais

Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis

Leia mais

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){

Leia mais

Tratamento de Exceções. LPG II Java. Tratamento de Exceções. Conceito de Exceções. Exemplo

Tratamento de Exceções. LPG II Java. Tratamento de Exceções. Conceito de Exceções. Exemplo Tratamento de Exceções LPG II Java Tratamento de Exceções Introdução Princípios do tratamento de exceções em Java Cláusula try Cláusula catch Cláusula finally Hierarquia de exceções em Java Considerações

Leia mais

Programação Orientada a Objetos Classes e Objetos. Prof. Vicente Paulo de Camargo

Programação Orientada a Objetos Classes e Objetos. Prof. Vicente Paulo de Camargo Programação Orientada a Objetos Classes e Objetos Prof. Vicente Paulo de Camargo A Programação Orientada a Objetos (POO) surgiu no final da década de 60 com a linguagem Simula-68. Os conceitos de POO foram

Leia mais

Tratamento de Exceções cont. Profa. Thienne Johnson EACH/USP

Tratamento de Exceções cont. Profa. Thienne Johnson EACH/USP Tratamento de Exceções cont. Profa. Thienne Johnson EACH/USP Java, como programar Deitel & Deitel Capítulo 14 continuação Todas as classes de exceção de Java herdam, direta ou indiretamente, da classe

Leia mais

Programação Estruturada e Orientada a Objetos. Objetos e Métodos

Programação Estruturada e Orientada a Objetos. Objetos e Métodos Programação Estruturada e Orientada a Objetos Objetos e Métodos 2013 O que veremos hoje? Objetos e Métodos Transparências baseadas no material do Prof. Jailton Carlos Objetivos Aprender a criar construtores;

Leia mais