Mapeando Relacionamentos entre Entidades JPA. Prof. Fellipe Aleixo

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

Download "Mapeando Relacionamentos entre Entidades JPA. Prof. Fellipe Aleixo"

Transcrição

1 Mapeando Relacionamentos entre Entidades JPA Prof. Fellipe Aleixo

2 Relacionamento entre Entidades É natural em um modelo de domínio termos relacionamento entre classes conceituais Como os relacionamentos do modelo de objetos são mapeados para o modelo relacional? Importante lembrar como duas tabelas são relacionadas no modelo relacional Uma mesma coluna é definida em duas tabelas, os valores dessa coluna definem o relacionamento JPA permite mapear tais relacionamentos

3 Tipos de Relacionamento 1. Unidirecional de um para um Ex.: um usuário com um endereço 2. Bidirecional de um para um Ex.: um empréstimo com uma devolução 3. Unidirecional de um para muitos Ex.: um usuário com um número de telefone 4. Bidirecional de um para muitos Ex.: uma editora com um livro

4 Tipos de Relacionamento 5. Unidirecional de muitos para um Ex.: um empréstimos com um atendente 6. Unidirecional de muitos para muitos Ex.: uma reserva com um livro 7. Bidirecional de muitos para muitos Ex.: um autor com um livro

5 Relacionamento Unidirecional de Um para Um Exemplo: um usuário possui um endereço O usuário conhece o endereço, mas o endereço não conhece a qual usuário pertence

6 Relacionamento Unidirecional de Um para Um Modelo de Programação: Navegação em apenas uma via um dos beans de entidade define uma propriedade que permite que ele obtenha o outro bean por relacionamento No nosso exemplo, a classe Usuario existirão os métodos getendereco() e setendereco() para acessar a entidade Endereco Vejamos a seguir o mapeamento necessário na classe Usuario

7 Relacionamento Unidirecional de Um para Um package public class Usuario implements java.io.serializable { private ENDERECO_ID ) public Endereco getendereco() { return endereco; public void setendereco(endereco novo) { endereco = novo;

8 Relacionamento Unidirecional de Um para Um Interface JoinColumn: Semelhante à Ex.: define a coluna da tabela CLIENTE que referencia a chave primária de tabela ENDERECO JoinColumn { String name() default ; String referencedcolumnname() default ; boolean unique() default false; boolean nullable() default true; boolean insertable() default true; boolean updatable() default true; String columndefinition() default ; String table() default ;

9 Relacionamento Unidirecional de Um para Um Interface OneToOne: OneToOne { Class targetentity() default void.class; CascadeType[] cascade() default {; FetchType fetch() default EAGER; boolean optional() default true; String mappedby() default ; targetentity: entidade com a qual há um relacionamento (descoberto pela propriedade) fetch: carregamento sob demanda ou imediato

10 Relacionamento Unidirecional de Um para Um Interface OneToOne: optional: especifica se o relacionamento pode ser nulo cascade: especifica o mecanismo de propagação de ações (remoções, atualizações, etc.) mappedby: usado para relacionamentos bidirecionais

11 Relacionamento Unidirecional de Um para Um Equivalente em XML: <entity-mappings> <entity class= exemplo.biblioteca.modelo.usuario access= PROPERTY > <attributes> <id name= id > <generated-value/> </id> <one-to-one name= endereco targetentity= exemplo.bilioteca.modelo.endereco fetch= LAZY optional= true > <cascade>all</cascade> <join-column name= ENDERECO_ID /> </one-to-one> </attributes> </entity> </entity-mappings>

12 Relacionamento Unidirecional de Um para Um O mapeamento podem ser feito usando-se valores iguais para as chaves das public class Usuario implements java.io.serializable { private public Endereco getendereco() { return endereco; public void setendereco(endereco novo) { endereco = novo;

13 Relacionamento Unidirecional de Um para Um Mapeamento de relacionamento padrão: package public class Usuario implements java.io.serializable { private Endereco public Endereco getendereco() { return endereco; public void setendereco(endereco novo) { endereco = novo;

14 Relacionamento Bidirecional de Um para Um Em determinados relacionamentos é necessário o conhecimento nos dois sentidos Um empréstimo conhece a devolução associada e a devolução sabe a qual empréstimo ela é referente No banco de dados os esquemas são equivalentes ao relacionamento unidirecional No modelo relacional não há a noção de direção dos relacionamentos

15 Relacionamento Bidirecional de Um para Um Esquema relacional segundo o exemplo: Para mapear o relacionamento entre as entidades Emprestimo e Devolucao, precisamos declarar as respectivas propriedades nas classes bean

16 Relacionamento Bidirecional de Um para public class Emprestimo implements java.io.serializable { private int id; private date dataemprestimo; private boolean ativo; private DEVOLUCAO_ID ) public Devolucao getdevolucao() { return devolucao; public void setdevolucao(devolucao novo) { devolucao = novo;

17 Relacionamento Bidirecional de Um para public class Devolucao implements java.io.serializable { private int id; private date datadevolucao; private Emprestimo devolucao ) public Emprestimo getemprestimo() { return emprestimo; public void setemprestimo(emprestimo novo) { emprestimo = novo;

18 Relacionamento Bidirecional de Um para Um Nos relacionamentos bidirecionais há o conceito de entidade possuidora do relacionamento No exemplo a entidade possuidora do relacionamento é Emprestimo O método setemprestimo() da entidade Devolucao não causa alteração no relacionamento Para alterar o empréstimo ao qual está associada uma devolução: Executaríamos o método setdevolucao() da entidade Emprestimo original passando null E depois executar o método setdevolucao() da nova entidade Emprestimo

19 Relacionamento Bidirecional de Um para Um Mapeamento de relacionamento public class Emprestimo implements java.io.serializable { private int id; private date dataemprestimo; private boolean ativo; private Devolucao public Devolucao getdevolucao() { return devolucao; public void setdevolucao(devolucao novo) { devolucao = novo;

20 Relacionamento Bidirecional de Um para Um Mapeamento de relacionamento public class Devolucao implements java.io.serializable { private int id; private date datadevolucao; private Emprestimo devolucao ) public Emprestimo getemprestimo() { return emprestimo; public void setemprestimo(emprestimo novo) { emprestimo = novo;

21 Relacionamento Unidirecional de Um para Muitos Na prática, um relacionamento de um para muitos unidirecional geralmente é mapeado com uma tabela de junção intermediária

22 Relacionamento Unidirecional de Um para Muitos Para o mapeamento deste tipo de relacionamento é utilizada a OneToMany { Class targetentity() default void.class; CascadeType[] cascade() default {; FetchType fetch() default LAZY; String mappedby() default ;

23 Relacionamento Unidirecional de Um para public class Usuario implements java.io.serializable { private Collection<Telefone> telefones = USUARIO_ID ) public Collection<Telefone> gettelefones() { return telefones; public void setendereco(collection<telefone> nova) { telefones = nova;

24 Relacionamento Unidirecional de Um para public class Telefone implements java.io.serializable { private int id; private String ddd; private String numero; private int tipo; // Construtor padrão requerido public public int getid() { return id;

25 Relacionamento Unidirecional de Um para Muitos Um outro mapeamento possível para este tipo de relacionamento é através de uma tabela de JoinTable { String name() default ; String catalog() default ; String schema() default ; JoinColumn[] joincolumns() default {; JoinColumn[] inversejoincolumns() default {; UniqueContraint[] uniqueconstraints() default {;

26 Relacionamento Unidirecional de Um para public class Usuario implements java.io.serializable { private Collection<Telefone> telefones = USUARIO_TELEFONE, joincolumns={@joincolumn(name= USUARIO_ID ), inversejoincolumns={@joincolumn(name= TELEFONE_ID )) public Collection<Telefone> gettelefones() { return telefones;

27 Relacionamento Unidirecional de Um para Muitos Mapeamento de relacionamento padrão: package public class Usuario implements java.io.serializable { private Collection<Telefone> telefones = new public Collection<Telefone> gettelefones() { return telefones;

28 Relacionamento Unidirecional de Muitos para Um Ocorre quando vários beans de entidade referenciam um único bean de entidade, mas o bean ignora esse relacionamento

29 Relacionamento Unidirecional de Muitos para Um Exemplo: cada empréstimo tem o conhecimento de qual atendente o realizou, mas atendente não necessita conhecer todos os empréstimos que realizou

30 Relacionamento Unidirecional de Muitos para Um Relacionamentos de muitos para um são descritos com a As definições de atributo são semelhantes àquelas da ManyToOne { Class targetentity() default void.class; CascadeType[] cascade() default {; FetchType fetch() default EAGER; boolean optional() default true; No caso do exemplo: será incluída uma propriedade Atendente na entidade Emprestimo

31 Relacionamento Unidirecional de Muitos para Um A entidade Atendente não sofre public class Emprestimo implements java.io.serializable { private int id; private Date dataemprestimo; private ATENDENTE_ID ) public Atendente getatendente() { return atendente; public void setatendente(atendente nova) { atendente = nova; 31

32 Relacionamento Unidirecional de Muitos para Um Mapeamento de relacionamento public class Emprestimo implements java.io.serializable { private int id; private Date dataemprestimo; private boolean ativo; private Atendente public Atendente getatendente() { return atendente; public void setatendente(atendente nova) { atendente = nova;

33 Relacionamento Bidirecional de Um para Muitos Perceba que um relacionamento bidirecional de muitos para um é equivalente ao relacionamento bidirecional de um para muitos Um bean de entidade mantém uma propriedade de relacionamento baseada em coleção de outro bean de entidade Cada bean de entidade na coleção mantém uma referência de volta ao bean agregador Exemplo: é interessante que uma editora conheça os livros que publicou, e que o livro também conheça qual editora que o publicou

34 Relacionamento Bidirecional de Um para Muitos Vejamos o esquema de banco de dados relacional equivalente:

35 Relacionamento Bidirecional de Um para Muitos A programação do lado muitos public class Livro implements java.io.serializable { private int id; private String titulo; private String isbn; private EDITORA_ID ) public Editora geteditora() { return editora; public void seteditora(editora nova) { editora = nova;

36 Relacionamento Bidirecional de Um para Muitos A programação do lado um public class Editora implements java.io.serializable { private int id; private String nome; private Collection<Livro> livros = new editora ) public Collection<Livro> getlivros() { return livros; public void setlivros(collection<livro> novos) { livros = novos;

37 Relacionamento Bidirecional de Um para Muitos Como todo relacionamento bidirecional, deve haver um lado possuidor do relacionamento Atualmente a JPA requer que o lado muitos seja o possuidor do relacionamento Significado dessa limitação no exemplo: Para mudar (e que essa mudança seja refletida no banco de dados) o relacionamento de uma Editorae um Livro deve usar o seteditora() de Livro

38 Relacionamento Bidirecional de Muitos para Muitos Ocorre quando muitos beans mantêm uma propriedade de relacionamento baseada em coleção com um outro bean de entidade E cada bean referenciado nessa coleção mantém uma propriedade de relacionamento baseado em coleção de volta aos beans agregadores Exemplo: um dado livro pode possuir vários autores e um autor pode ter escrito vários livros

39 Relacionamento Bidirecional de Muitos para Muitos Esquema de banco de dados relacional:

40 Relacionamento Bidirecional de Muitos para Muitos Os relacionamentos são logicamente definidos com a ManyToMany { Class targetentity() default void.class; CascadeType[] cascade() default {; FetchType fetch() default LAZY; String mappedby() default ;

41 Relacionamento Bidirecional de Muitos para Muitos A entidade Autor deverá definir uma propriedade coleção de entidades public class Autor implements java.io.serializable { private int id; private String nome; private Set<Livro> livros = LIVRO_AUTOR, joincolumns={@joincolumn(name= AUTOR_ID ), inversejoincolumns={@joincolumn(name= LIVRO_ID )) public Set<Livro> getlivros() { return livros; public void setlivros(set<livro> novos) { livros = novos;

42 Relacionamento Bidirecional de Muitos para Muitos O relacionamento livros é declarado como uma java.uitil.set O tipo Set não armazena objetos duplicados Como ocorre nos demais relacionamentos bidirecionais há um lado possuidor Nesse caso a entidade Autor Como possuidor do relacionamento pode definir a tabela de junção a ser utilizada

43 Relacionamento Bidirecional de Muitos para Muitos Mapeamento de relacionamento padrão na entidade public class Autor implements java.io.serializable { private int id; private String nome; private Set<Livro> livros = new public Set<Livro> getlivros() { return livros; public void setlivros(set<livro> novos) { livros = novos;

44 Relacionamento Bidirecional de Muitos para Muitos A entidade Livro deverá definir uma propriedade coleção de entidades public class LIvro implements java.io.serializable { private int id; private String titulo; private String isbn; private Collection<Autor> autores = new livros ) public Collection<Autor> getautores() { return autores; public void setautores(collection<autor> novos) { autores = novos;

45 Relacionamento Unidirecional de Muitos para Muitos Ocorre quando muitos beans mantêm um relacionamento baseado em coleção com um outro bean Mas, o referido bean na coleção não mantém um relacionamento baseado em coleção de volta aos beans agregadores Exemplo: uma reserva pode ser realizada para vários livros, e embora que um mesmo livro possa ser reservado mais de uma vez ele não precisa conhecer tais reservas

46 Relacionamento Unidirecional de Muitos para Muitos Vejamos o esquema de banco de dados relacional equivalente:

47 Relacionamento Unidirecional de Muitos para Muitos O campo de relacionamento baseado em coleção de Livro é adicionado em public class Reserva implements java.io.serializable { private int id; private Date datareserva; private Usuario usuario; private Set<Livro> livros = RESERVA_LIVRO, joincolumns={@joincolumn(name= RESERVA_ID ), inversejoincolumns={@joincolumn(name= LIVRO_ID )) public Set<Livro> getlivros() { return livros; public void setlivros(set<livro> novos) { livros = novos;

48 Relacionamento Unidirecional de Muitos para Muitos A entidade Livro não é alterada em nada Mapeamento de relacionamento public class Reserva implements java.io.serializable { private int id; private Date datareserva; private Usuario usuario; private Set<Livro> livros = new public Set<Livro> getlivros() { return livros; public void setlivros(set<livro> novos) { livros = reservas ) public Usuario getusuario() { return usuario; public void setusuario(usuario novo) { usuario = novo;

49 Relacionamentos Baseados em Lista Ordenada Podem ser utilizadas as interfaces: List, Set, Map e Collection (java.util.*) para mapear relacionamentos baseados em coleção Particularidades do uso de List: Representa uma coleção não ordenada e que permite duplicatas Pode possibilitar a capacidade adicional de ordenar os elementos da coleção com base em um conjunto específico de critérios Permite declarar uma cláusula JPQL caso não seja especificado: valerá a ordem crescente da chave primária

50 Relacionamentos Baseados em Lista public class Reserva implements java.io.serializable { private int id; private Date datareserva; private Usuario usuario; private List<Livro> livros = isbn ASC RESERVA_LIVRO, joincolumns={@joincolumn(name= RESERVA_ID ), inversejoincolumns={@joincolumn(name= LIVRO_ID )) public List<Livro> getlivros() { return livros; public void setlivros(list<livro> novos) { livros = novos;

51 Relacionamentos Baseados em Mapas Particularidades do uso de Map: O provedor de persistência cria um mapa com chave sendo uma propriedade específica da entidade relacionada e o valor como sendo a própria entidade O atributo name() indica o nome da propriedade da entidade a ser usado como chave no mapa Se o name() não for especificado é usada a chave primária da entidade como chave no mapa

52 Relacionamentos Baseados em public class Usuario implements java.io.serializable { private Map<String, Telefone> telefones = new USUARIO_ID numero ) public Map<String, Telefone> gettelefones() { return telefones; public void setlivros(map<string, Telefone> novos) { telefones = novos;

53 Entidades Desacopladas e FetchType Ao trabalhar com entidades relacionadas devemos lembrar alguns detalhes: 1. quando recuperamos uma dada entidade alguns relacionamentos podem não ter sido inicializados 2. essa entidade pode ser desacoplada quando terminar o contexto de persistência 3. se a propriedade do relacionamento for acessada quando a entidade estiver desacoplada geralmente temos uma exceção ou uma resposta incorreta

54 Propagação de Operações Sobre Entidades em Cascata Nas anotações de relacionamento vimos que existe o atributo cascade() Esse atributo permite configurar que operações realizadas sobre um entidade sejam propagadas em cascata para as entidades associadas Exemplo: ao persistir um Usuario, podemos estar persistindo seu o Endereco e seus Telefones Operações que podem ser propagadas em cascata (CascadeType): ALL, PERSIST, MERGE, REMOVE e REFRESH

55 Propagação de Operações Sobre Entidades em Cascata CascadeType.PERSIST A persistência de uma entidade deverá gerar a persistência das entidades relacionadas Exemplo: persistência de um Usuario CascadeType.MERGE A atualização em uma entidade deverá gerar a atualização das entidades relacionadas O estado da entidade e de suas entidades relacionadas é sincronizado com o banco de dados

56 Propagação de Operações Sobre Entidades em Cascata CascadeType.REMOVE A remoção de uma entidade causa a remoção das entidades relacionadas CascadeType.REFRESH O estado da entidade e de suas entidades relacionadas é atualizado com informações armazenadas no banco de dados CascadeType.ALL Combinação de todas as diretivas anteriores

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

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

Módulo 03. Mapeando Associações/Relacionamentos. Raphaela Galhardo. raphaela@jeebrasil.com.br

Módulo 03. Mapeando Associações/Relacionamentos. Raphaela Galhardo. raphaela@jeebrasil.com.br Módulo 03 Mapeando Associações/Relacionamentos Raphaela Galhardo raphaela@jeebrasil.com.br Associações Um-para-um; Muitos-para-um; Um-para-muitos; Muitos-para-muitos. Associações - OneToMany Exemplo: Uma

Leia mais

Mapeando Relacionamentos Entre Classes com Anotações Hibernate Por: Raphaela Galhardo Fernandes Gleydson de Azevedo F. Lima

Mapeando Relacionamentos Entre Classes com Anotações Hibernate Por: Raphaela Galhardo Fernandes Gleydson de Azevedo F. Lima Classes com Anotações Hibernate Por: Raphaela Galhardo Fernandes Gleydson de Azevedo F. Lima Resumo Este tutorial destina-se a apresentar alguns exemplos de mapeamentos de associações/relacionamentos entre

Leia mais

Parte III Persistência entre Modelos de Dados

Parte III Persistência entre Modelos de Dados Parte III Persistência entre Modelos de Dados Clodis Boscarioli Agenda: Associações n-n com Atributos; Chave-primária composta; Herança: Tabela por classe concreta; Tabela por Hierarquia; Tabela por Sub-Classe.

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

Herança entre Entidades JPA. Prof. Fellipe Aleixo

Herança entre Entidades JPA. Prof. Fellipe Aleixo Herança entre Entidades JPA Prof. Fellipe Aleixo fellipe.aleixo@ifrn.edu.br ORM e Herança Para estar completo o mecanismo de mapeamento objeto-relacional precisa suportar o conceito de herança da orientação

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

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 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

HIBERNATE Criando um projeto em Java + Hibernate do zero

HIBERNATE Criando um projeto em Java + Hibernate do zero HIBERNATE Criando um projeto em Java + Hibernate do zero SUMÁRIO 1 Instalação do NetBeans 2 Instalação do Java Development Kit (JDK) 3 Criar projeto no NetBeans 4 O arquivo hibernate.cfg.xml 5 Criar as

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

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 professor.fabrizzio@gmail.com Aula 9 Mapeamento em JPA Introdução O mapeamento objeto-relacional

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

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

JPA 2.0 e Servlet 3.0

JPA 2.0 e Servlet 3.0 JPA 2.0 e Servlet 3.0 Elaine Silva Instrutora Globalcode Melissa Villela Instrutora Globalcode 1 Agenda > Objetivo > JPA 2.0 > Servlet 3.0 > Conclusões 2 Agenda > Objetivo > JPA 2.0 > Servlet 3.0 > Conclusões

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

JPA (Java Persistence API) Marcos Kalinowski (kalinowski@ic.uff.br)

JPA (Java Persistence API) Marcos Kalinowski (kalinowski@ic.uff.br) JPA (Java Persistence API) (kalinowski@ic.uff.br) Agenda Conceitos básicos do JPA Mapeamento objeto relacional utilizando JPA Utilizando JPA para a persistência na prática EntityManager JPQL (Java Persistence

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 professor.fabrizzio@gmail.com Aula 11 Mapeamento em JPA - Continuação Objetos Embutidos

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

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

Hibernate. Mapeamento O/R Marcio Aguiar Ribeiro aguiar.marcio@gmail.com

Hibernate. Mapeamento O/R Marcio Aguiar Ribeiro aguiar.marcio@gmail.com Hibernate Mapeamento O/R Marcio Aguiar Ribeiro aguiar.marcio@gmail.com 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

Introdução. Coleção HashMap Classe Java. Interesse

Introdução. Coleção HashMap Classe Java. Interesse Coleção Classe Java Introdução Interesse Modelar correspondências unívocas (1 para 1) entre objetos, do tipo chave-valor. Associações entre: um elemento de um conjunto de chaves um elemento de uma coleção

Leia mais

Coleções. João Paulo Q. dos Santos

Coleções. João Paulo Q. dos Santos Coleções João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro Conceitos sobre coleções; Tipos de coleções; Como são classificadas; Exemplos. 04/02/14 2 Coleções Classes e interfaces do pacote java.util

Leia mais

Desvendando o Hibernate

Desvendando o Hibernate Passos Iniciais Desvendando o Hibernate 1. Repetir os passos do tutorial "CRUD com Hibernate" 2. Adicionar o driver JDBC do banco Esquematizando Fontes dos Arquivos WEB-INF\classes\hibernate.cfg.xml

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

ROOM: Biblioteca de Mapeamento Objeto-Relacional. Prof. Fellipe Aleixo

ROOM: Biblioteca de Mapeamento Objeto-Relacional. Prof. Fellipe Aleixo ROOM: Biblioteca de Mapeamento Objeto-Relacional Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Por que? Antes de mais nada: por que precisamos de persistência no disposi

Leia mais

@Table(name= Nome-da-tabela ) usada quando os nomes da classe e da tabela são diferentes.

@Table(name= Nome-da-tabela ) usada quando os nomes da classe e da tabela são diferentes. Para integrar Aplicações Orientadas por Objetos com Bases de Dados Relacionais podemos encapsular a parte relacional usando Frameworks ORM ( Object Relational Mapping). JPA (Java Persistence API Interface

Leia mais

Aula 4. Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com)

Aula 4. Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com) Persistência com JDBC e JPA Aula 4 Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com) A sabedoria não se transmite, é preciso que nós a descubramos fazendo uma caminhada que ninguém

Leia mais

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU Aula 5 POO 1 Encapsulamento Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações

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

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

Persistência de dados com JPA. Hélder Antero Amaral Nunes haanunes@gmail.com Persistência de dados com JPA Hélder Antero Amaral Nunes haanunes@gmail.com O que é persistência? A persistência de dados é o fato de pegar um dado e torná-lo persistente, ou seja, salvar em algum banco

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

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

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

UNIVERSIDADE FEDERAL DE JUIZ DE FORA DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO. Filipe Bastos UNIVERSIDADE FEDERAL DE JUIZ DE FORA DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO Filipe Bastos Como unir o mundo orientado a objetos ao mundo relacional utilizando ferramentas ORM Juiz de Fora, MG 2016 UNIVERSIDADE

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

Tabelas. Banco de Dados I MySQL

Tabelas. Banco de Dados I MySQL FACULDADE ANGLO AMERICANO FOZ DO IGUAÇU Curso de Ciência da Computação 5º Período Disciplina: Banco de Dados I Prof. Erinaldo Sanches Nascimento Tabelas Banco de Dados I MySQL Linguagem de Definição de

Leia mais

Palavras Reservadas da Linguagem Java

Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java: Categorias Tipos de dados primitivos Literais Pseudo-variáveis Desvio e controle de fluxo Pacotes Exceções Modificadores de

Leia mais

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos Linguagem de Programação II Programação Orientada a Objetos Orientação a Objetos Prof. Alessandro Borges 2 Tópicos Introdução à Programação Orientada a Objetos Conceitos Objetivos Classes e Objetos Atributos

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

nome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){

nome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){ UNIVERSIDADE FEDERAL DE SANTA CATARINA - Departamento de Automação e Sistemas PROGRAMAÇÃO DE SISTEMAS AUTOMATIZADOS - 2016/2 - P2 Nome: ------------------------------------------------------------------------------------------------------

Leia mais

Notas sobre Aplicação MVC Contoso University: Parte 4. Uso de Atributos para controlar Formatação, Validação e Mapeamento na Base de Dados

Notas sobre Aplicação MVC Contoso University: Parte 4. Uso de Atributos para controlar Formatação, Validação e Mapeamento na Base de Dados Notas sobre Aplicação MVC Contoso University: Parte 4 Parte 4. Uso de Atributos para controlar Formatação, Validação e Mapeamento na Base de Dados Atributos: DisplayFormat (DataFormatString) MaxLength

Leia mais

Integrando recuperação de informação em banco de dados com Hibernate Search

Integrando recuperação de informação em banco de dados com Hibernate Search Integrando recuperação de informação em banco de dados com Hibernate Search Alunos Gustavo Kendi Tsuji Leonardo Tadashi Kamaura Orientador João Eduardo Ferreira Introdução Introdução Introdução Média de

Leia mais

Orientação a Objetos e Java

Orientação a Objetos e Java Orientação a Objetos e Java Daves Martins davesmartins@yahoo.com.br Mestre em Computação de Alto Desempenho pela UFRJ Especialista em Banco de Dados Analista Web Orientação a Objetos e Java Características

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

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 sergio.lopes@caelum.com.br Sérgio Lopes Desenvolvedor Java desde 2002 Instrutor de Java pela Caelum Trabalho com Web e Celulares

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Modificadores de Acesso: public e private Prof. Tulio Alberton Ribeiro Instituto Federal de Santa Catarina IFSC campus São José tulio.alberton@ifsc.edu.br 31 de julho de

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

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

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Classes o Objetos. Classes, objetos, métodos e variáveis de instância Classes o Objetos Um recurso comum de cada aplicativo feito até agora é que todas as instruções que realizavam tarefas localizavam-se no método main. Se você tornar parte de uma equipe de desenvolvimento

Leia mais

Construtores e Especificadores de Acesso

Construtores e Especificadores de Acesso Construtores e Especificadores de Acesso Professora: Fátima L. S. Nunes 1 1 1 Orientação a Objetos Conceitos do Paradigma de Orientação a Objetos já vistos: Classes atributos e métodos Objetos instanciaçã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

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

Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação

Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Introdução Além de utilizar as classes presentes na biblioteca padrão, programadores podem definir suas próprias

Leia mais

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas Banco de dados Conteúdo: DDL Prof. Patrícia Lucas O mysql MySQL Workbench é uma ferramenta de design de banco de dados visual que integra o desenvolvimento SQL, administração, design de banco de dados,

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem

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 ivan@inf.puc-rio.br Programa Capítulo 3 Ponteiros e Variáveis de Objeto Construtores e Blocos de Inicialização

Leia mais

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação SQL Básica DDL Prof. Marcos A. Schreiner Curso de Licenciatura em Computação 21 de outubro de 2015 Prof. Marcos A. Schreiner (UFPR) 21 de outubro de 2015 1 / 28 1 Introdução 2 SQL DDL CREATE Criar Banco

Leia mais

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação

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

Mecanismo de Persistência

Mecanismo de Persistência Hibernate Mecanismo de Persistência Marco Antonio, Arquiteto de Software TJDF ma@marcoreis.eti.br Dezembro/2005 Hibernate Mecanismo de persistência (operações em banco como inserir, atualizar, consultar

Leia mais

Persistência de Objetos

Persistência de Objetos Persistência de Objetos Objetos Persistentes ì Objetos Persistentes: são objetos que requerem armazenamento persistente. Exemplo: Instâncias da classe Descrição Produto devem ser armazenadas em uma base

Leia mais

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

Enums em Java: utilização e persistência Enums em Java: utilização e persistência Jadson José dos Santos jadsonjs@gmail.com Nas primeiras versões da linguagem Java, a única forma que existia para se utilizar constantes enumeradas era através

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 andrew@les.inf.puc-rio.br Programa Capítulo 3 Ponteiros e Variáveis de Objeto Construtores

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

SQL Básica. Andre Noel

SQL Básica. Andre Noel SQL Básica Andre Noel Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Se tornou

Leia mais

Desmistificando o Hibernate Envers em 10 passos

Desmistificando o Hibernate Envers em 10 passos _envers Desmistificando o Hibernate Envers em 10 passos Auditoria de dados? Registro de Log? Trilha de auditoria? Descubra como é fácil, através do Hibernate Envers, rastrear o histórico de mudanças e

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

COMPORTAMENTOS - Observações

COMPORTAMENTOS - Observações COMPORTAMENTOS - Observações O próprio objeto realiza operações de consulta ou alteração dos valores dos seus atributos Essas operações são definidas em seus métodos Os métodos também são utilizados para

Leia mais

Collections Framework

Collections Framework Collections Framework 1 Arrays p Manipular array é bastante trabalhoso. p Dificuldades aparecem em diversos momentos: n não podemos redimensionar um array em Java; n é impossível buscar diretamente por

Leia mais

Análise de Programação

Análise de Programação Análise de Programação Fundamentos da Linguagem de Programação Java Prof. Gilberto B. Oliveira Variáveis Atributos: Variáveis Declaradas fora de um método, sem o modificador static Variáveis membro ou

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

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

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores Prof.: Bruno E. G. Gomes IFRN 1 Introdução Na aula de hoje: Declaração de classes Métodos Construtores Exercícios de criação

Leia mais

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

Struts 2 : Projeto e Programação Editora: Ciência Moderna Autor: Antunes Budi Kurniawan Número de páginas: 600 Objetivo Com enfoque totalmente prático permite que programadores Java possam ampliar seus conhecimentos no mundo Web na criação de sistemas profissionais. Utilizar os modelos de programação com Servlets,

Leia mais

HERANÇA NO BANCO DE DADOS COM ENTITY FRAMEWORK RESUMO

HERANÇA NO BANCO DE DADOS COM ENTITY FRAMEWORK RESUMO HERANÇA NO BANCO DE DADOS COM ENTITY FRAMEWORK Emanuel Braz da Cruz Julliano Trindade Pintas Sergio Paiva Rodas Cláudio Sally RESUMO O mercado se encontra divido quanto às plataformas de desenvolvimento

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

Laboratório de Banco de Dados. Prof. Luiz Vivacqua.

Laboratório de Banco de Dados. Prof. Luiz Vivacqua. (la.vivacqua@gmail.com) Ementa Conceitos básicos Sistemas de banco de dados Relacional Visão Geral do PostGreSQL Álgebra Relacional Operadores básicos Operadores adicionais A Linguagem de Consulta Estruturada

Leia mais

Singleton. Como a maioria dos programadores organizaria o código para acessar informação de configuração? Eis um exemplo:

Singleton. Como a maioria dos programadores organizaria o código para acessar informação de configuração? Eis um exemplo: Introdução Como a maioria dos programadores organizaria o código para acessar informação de configuração? Eis um exemplo: public class Config { public static final String DEFAULT_READ_COMMUNITY_NAME =

Leia mais

Programação OO em Java

Programação OO em Java Programação OO em Java Baseado nos materiais de Profa. Andréa S. Charão Prof. Guilherme D. Juraszek (rev. de Alexandre G. Silva, 09/2017) Sumário Classes abstratas Interfaces Tipos genéricos Coleções Classes

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

Vamos falar de Hibernate?

Vamos falar de Hibernate? Vamos falar de Hibernate? Hibernate é um framework ORM (Object-Relationship Management) muito bacana que nos permite ter muita produtividade na manipulação de objetos a serem persistidos no banco de dados.

Leia mais

Aula de hoje. Outras estruturas de dados. Teoria dos conjuntos. Teoria dos conjuntos. Conjuntos em Python. Conjuntos em Python

Aula de hoje. Outras estruturas de dados. Teoria dos conjuntos. Teoria dos conjuntos. Conjuntos em Python. Conjuntos em Python SCC 124 - Introdução à Programação para Engenharias Outras estruturas de dados Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto

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

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

Aula 05 Classes, Atributos, Métodos. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

Aula 05 Classes, Atributos, Métodos. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes Aula 05 Classes, Atributos, Métodos Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda Classe; Atributos; Métodos. Classes É onde conceituamos

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

Algoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):

Algoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente): Algoritmos e Programação 2 Baseado no material do Prof. Júlio Machado Objetos e Classes em Java Revisão Classes: encapsulam dados (atributos) e operações sobre os dados (métodos) Objetos: instâncias de

Leia mais

Resolvendo objeto-relacional impedance mismatch com hibernate

Resolvendo objeto-relacional impedance mismatch com hibernate Resolvendo objeto-relacional impedance mismatch com hibernate August 7, 2013 Sumário I 1 Introdução 2 3 4 Sumário II 5 Contexto Mapeamento Objeto-Relacional (ORM) é uma técnica de programação para converter

Leia mais

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR SQL Structured Query Language, ou Linguagem de Consulta Estruturada, foi desenvolvida pela IBM nos anos 70 para demonstrar a viabilidade do modelo relacional para bancos de dados. No final dos anos 80

Leia mais

A classe ArrayList. IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

A classe ArrayList. IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli A classe ArrayList Java oferece uma classe chamada ArrayList, que permite a criação e manipulação de objetos; Um objeto ArrayList é semelhante a um vetor de objetos, mas oferece inúmeras vantagens em relação

Leia mais

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli Vetores De modo geral, em linguagem de programação, vetores ou arrays são estruturas de dados que permitem que uma mesma variável possa armazenar mais de um valor; Em Java, vetores são coleções de dados,

Leia mais

CURSO DE POO COM JAVA

CURSO DE POO COM JAVA 07 CURSO DE POO COM JAVA Arrays PROF. MARCOS VINICIUS marcos.engsoft@gmail.com Introdução Imaginemos que queiramos trabalhar com as notas dos alunos. Supondo que cada aluno deva ter cinco notas, podemos

Leia mais

Aula 7 Visibilidade entre objetos e Diagramas de Classes

Aula 7 Visibilidade entre objetos e Diagramas de Classes Departamento de Sistemas de Computação Universidade de São Paulo SSC 124 Análise e Projeto Orientados a Objetos Aula 7 Visibilidade entre objetos e Diagramas de Classes Responsável Prof. Seiji Isotani

Leia mais

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; Tudo no mundo real pode ser representado por meio do conceito de "objeto": uma planta, uma mesa, uma pessoa, um sentimento,

Leia mais