1/97 PGBR2013. Desenvolvendo Otimizado com PostgreSQL e Programação Orientada a Objetos. Pablo Filetti Moreira

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

Download "1/97 PGBR2013. Desenvolvendo Otimizado com PostgreSQL e Programação Orientada a Objetos. Pablo Filetti Moreira pablo.filetti@gmail."

Transcrição

1 1/97 PGBR2013 Desenvolvendo Otimizado com PostgreSQL e Programação Orientada a Objetos Pablo Filetti Moreira

2 2/97 Agenda Baixa performance... ORM Mapeamento Objeto/Relacional JPA Java Persistence API Hibernate Fetching Eager Fetching Lazy Collection Fetching Lazy Collection Fetching Eager Cache do 1º Nível Cache do 2º Nível DynamicUpdate Query com NEW Batch Update Batch Binários Query com FETCH BatchSize

3 3/97 Baixa performance... Para Fernando Ike de Oliveira 60% Problem são relacionados ao mau uso de expressões SQL. 20% Problem são relacionados a má modelagem do BD's. 10% Problem são relacionados a má configuração do SGDB. 10% Problem são relacionados a má configuração do SO. (OLIVEIRA,http://www.midstorm.org/~fike/palestr/tuning_pg_consegi.pdf)

4 4/97 Baixa performance... Para Fábio Telles Rodriguez Por mais que os desenvolvedores reclamem do servidor de banco de dados, em 80% dos cos o problema está na aplicação e em 20% no SGDB. Não que a aplicação seja ruim em si, m ela pode não usar o SGDB de forma eficiente. Existem vári form de se obter os mesmos dados de forma ineficiente. Pior, uma consulta que funcionava bem num SGDB pode ter uma performance cattrófica em outro SGDB. Infelizmente isto pode ocorrer também com migrações para outra versão do mesmo SGDB. Mesmo sim, a culpa ainda não é do SGDB. A aplicação que tem (infelizmente) de adaptar às especificidades de cada fornecedor e cada versão. Na verdade, se formos levar a questão de forma mais ponderada, a lei não seria 80/20, seria 99,9/0,01. Isto ocorre por um motivo simples, ajustes de SQL e modelagem podem resultar em ganhos de performance da ordem de 10, 100 ou até 1000 vezes. Enquanto isso, ajustes no SO e SGDB tem ganhos da ordem de até 10 vezes. Portanto, antes de mais nada aprenda a modelar bem e conheça minúci do SQL do seu SGDB. Depois aprenda a analisar com profundidade os planos de execução e reescreva consult complex a partir deste tipo de análise. (RODRIGUES,

5 5/97 Baixa performance... Para Kenia Milene 65% d caus de baixa performance em Bancos de Dados são causad pel aplicações. Dificilmente temos no mesmo ambiente um DBA Desenvolvedor ou um Desenvolvedor DBA, sendo sim, muito, m muito cuidado na criação d consult. 25% são causados pelos modelos de dados. Banco mal modelado tende a ser terrível. A melhor forma é normalizar o modelo, com isso ganhamos economia de espaço e a não repetição dos dados. Porém é necessário uma análise, pois em relatórios muito grandes não é aconselhável normalização quando falamos de ganho de performance. 5% são problem do SGDB, acontece do gerenciador do banco não ter um algoritmo eficiente, ou não consegue manter informações necessári na memória por tempo eficiente. Atenção na aplicação de patchs e upgrades de versões. 5% são causad por configurações ou deficiênci do Sistema Operacional. Atenção no fluxo da rede, muit vezes o servidor esta com uma placa de rede não adequada para a quantidade de fluxo de informações que trafega. Verificações de parâmetros de Kernel também são consideráveis, pois o S.O pode não estar deixando o banco escalonar que influencia no impacto do sistema. (MILENE,

6 6/97 Baixa performance... Para Claudia Machado Sistema operacional, co tenha sido mal parametrizado; SGBD Relacional, por causa de inadequad configurações relacionad às áre de buffers, organização do logging, alocação de arquivos, entre outros; Rede, no co de impactos no tráfego em razão de processamento de dados efetuados no servidor ou na rede; Modelo físico de dados, em razão de inadequação na definição da estrutura d tabel e índices; Aplicação, quando ocorrem problem na estrutura lógica efetuada pelo programador, o que compreende a linguagem hospedeira e os comandos em SQL. (MACHADO,http://linheletrweb.blogspot.com/2010/03/tuning-de-bancos-dedados.html)

7 7/97 A culpa é de quem??? Desenvolvedores Este Banco é uma carroça DBAs Esta aplicação é cheia de gambiarr

8 8/97 ORM Mapeamento Objeto/Relacional Por muitos anos, persistência tem sido um tópico quente de debates na comunidade Java. Muitos desenvolvedores nem mesmo concordam com o escopo do problema. Será a persistência um problema que já foi resolvido pela tecnologia relacional e su extensões como procedimentos armazenados (stored procedures), ou ele é um problema mais amplo que precisa ser endereçado por modelos de componentes Java especiais, como os entity beans (componentes de entidade) do EJB? Devemos escrever à mão até mesmo mais primitiv operações CRUD (criar, ler, atualizar, deletar create, read, update, delete) em SQL e JDBC, ou esse trabalho deve ser automatizado? Como alcançamos portabilidade se todo sistema de gerenciamento de banco de dados possui o seu próprio dialeto SQL? Devemos abandonar o SQL em definitivo e adotar uma tecnologia diferente de banco de dados, como o sistema de banco de dados orientado para objetos? O debate continua, m agora a solução chamada mapeamento objeto/relacional (ORM object/relational mapping) tem uma grande aceitação. (BAUER e KING, 2007, p.4)

9 9/97 JPA Java Persistence API Especificação Providers Hibernate EclipseLink OpenJPA TopLink

10 10/97 Hibernate O Hibernate é um projeto ambicioso que visa ser uma solução completa para o problema de gerenciar dados persistentes em Java. Ele medeia a interação da aplicação com o banco de dados relacional, deixando o desenvolvedor livre para se concentrar no problema de negócio que tem n mãos. O Hibernate é uma solução não intrusiva. Não é necessário que você siga muit d regr e dos padrões de projeto específicos do Hibernate quanto estiver escrevendo a sua lógica de negócio e su clses persistentes; é por essa razão que o Hibernate se integra tranquilamente à maioria d nov e existentes aplicações e não necessita de mudanç incômod ao resto da aplicação. (BAUER e KING, 2007, p.4)

11 11/97 Hibernate Produtivade Multibanco Sem SQL Criteria + JPQL (HQL) Cache Envers Auditoria Hibernate Statistics

12 12/97 Fetching Clse Produto

13 13/97 Fetching Eager

14 14/97 Fetching Eager produto0_.id produto0_.id id1_2_, id1_2_, produto0_.descricao produto0_.descricao descricao1_2_, descricao1_2_, produto0_.fabricante_id produto0_.fabricante_id fabricante5_1_2_, fabricante5_1_2_, produto0_.nome produto0_.nome nome1_2_, nome1_2_, produto0_.tipo_id produto0_.tipo_id tipo6_1_2_, tipo6_1_2_, produto0_.valor valor1_2_, produto0_.valor valor1_2_, fabricante1_.id fabricante1_.id id0_0_, id0_0_, fabricante1_.nome fabricante1_.nome nome0_0_, nome0_0_, tipoprodut2_.id tipoprodut2_.id id2_1_, id2_1_, tipoprodut2_.descricao tipoprodut2_.descricao descricao2_1_ descricao2_1_ public.produto public.produtoproduto0_ produto0_ inner join inner join public.fabricante public.fabricantefabricante1_ fabricante1_ on onproduto0_.fabricante_id=fabricante1_.id produto0_.fabricante_id=fabricante1_.id inner innerjoin join public.tipo_produto public.tipo_produtotipoprodut2_ tipoprodut2_ on produto0_.tipo_id=tipoprodut2_.id on produto0_.tipo_id=tipoprodut2_.id produto0_.id=? produto0_.id=?

15 15/97 Fetching Mapeamento Lazy

16 16/97 Fetching Lazy

17 17/97 Fetching Lazy produtofet0_.id produtofet0_.id id1_0_, id1_0_, produtofet0_.descricao produtofet0_.descricao descricao1_0_, descricao1_0_, produtofet0_.fabricante_id produtofet0_.fabricante_id fabricante5_1_0_, fabricante5_1_0_, produtofet0_.nome nome1_0_, produtofet0_.nome nome1_0_, produtofet0_.tipo_id produtofet0_.tipo_id tipo6_1_0_, tipo6_1_0_, produtofet0_.valor valor1_0_ produtofet0_.valor valor1_0_ public.produto public.produtoprodutofet0_ produtofet0_ produtofet0_.id=? produtofet0_.id=?

18 18/97 Fetching Lazy fabricante0_.id fabricante0_.id id0_0_, id0_0_, fabricante0_.nome fabricante0_.nome nome0_0_ nome0_0_ public.fabricante public.fabricantefabricante0_ fabricante0_ fabricante0_.id=? fabricante0_.id=?

19 19/97 Fetching Lazy tipoprodut0_.id tipoprodut0_.id id2_0_, id2_0_, tipoprodut0_.descricao tipoprodut0_.descricao descricao2_0_ descricao2_0_ public.tipo_produto public.tipo_produtotipoprodut0_ tipoprodut0_ tipoprodut0_.id=? tipoprodut0_.id=?

20 20/97 Collection Fetching Clse Fabricante

21 21/97 Collection Fetching Lazy fabricante0_.id fabricante0_.id id0_0_, id0_0_, fabricante0_.nome fabricante0_.nome nome0_0_ nome0_0_ public.fabricante public.fabricantefabricante0_ fabricante0_ fabricante0_.id=? fabricante0_.id=?

22 22/97 Collection Fetching Lazy produtos0_.fabricante_id produtos0_.fabricante_id fabricante5_0_2_, fabricante5_0_2_, produtos0_.id id2_, produtos0_.id id2_, produtos0_.id produtos0_.id id1_1_, id1_1_, produtos0_.descricao produtos0_.descricao descricao1_1_, descricao1_1_, produtos0_.fabricante_id produtos0_.fabricante_id fabricante5_1_1_, fabricante5_1_1_, produtos0_.nome nome1_1_, produtos0_.nome nome1_1_, produtos0_.tipo_id produtos0_.tipo_id tipo6_1_1_, tipo6_1_1_, produtos0_.valor valor1_1_, produtos0_.valor valor1_1_, tipoprodut1_.id tipoprodut1_.id id2_0_, id2_0_, tipoprodut1_.descricao tipoprodut1_.descricao descricao2_0_ descricao2_0_ public.produto public.produtoprodutos0_ produtos0_ inner join inner join public.tipo_produto public.tipo_produtotipoprodut1_ tipoprodut1_ on produtos0_.tipo_id=tipoprodut1_.id on produtos0_.tipo_id=tipoprodut1_.id produtos0_.fabricante_id=? produtos0_.fabricante_id=?

23 23/97 Collection Fetching Mapeamento Eager

24 24/97 Collection Fetching Eager

25 25/97 Collection Fetching Eager Hibernate: Hibernate: fabricante0_.id fabricante0_.id id0_2_, id0_2_, fabricante0_.nome fabricante0_.nome nome0_2_, nome0_2_, produtos1_.fabricante_id produtos1_.fabricante_id fabricante5_0_4_, fabricante5_0_4_, produtos1_.id produtos1_.id id4_, id4_, produtos1_.id produtos1_.id id1_0_, id1_0_, produtos1_.descricao produtos1_.descricao descricao1_0_, descricao1_0_, produtos1_.fabricante_id produtos1_.fabricante_id fabricante5_1_0_, fabricante5_1_0_, produtos1_.nome nome1_0_, produtos1_.nome nome1_0_, produtos1_.tipo_id produtos1_.tipo_id tipo6_1_0_, tipo6_1_0_, produtos1_.valor produtos1_.valor valor1_0_, valor1_0_, tipoprodut2_.id tipoprodut2_.id id2_1_, id2_1_, tipoprodut2_.descricao tipoprodut2_.descricao descricao2_1_ descricao2_1_ public.fabricante public.fabricantefabricante0_ fabricante0_ left leftouter outerjoin join public.produto public.produtoprodutos1_ produtos1_ on fabricante0_.id=produtos1_.fabricante_id on fabricante0_.id=produtos1_.fabricante_id left leftouter outerjoin join public.tipo_produto public.tipo_produtotipoprodut2_ tipoprodut2_ on onprodutos1_.tipo_id=tipoprodut2_.id produtos1_.tipo_id=tipoprodut2_.id fabricante0_.id=? fabricante0_.id=?

26 26/97 Cache de 1º Nível 1º Exemplo

27 27/97 produto0_.id produto0_.id id1_2_, id1_2_, produto0_.descricao produto0_.descricao descricao1_2_, descricao1_2_, produto0_.fabricante_id produto0_.fabricante_id fabricante5_1_2_, fabricante5_1_2_, produto0_.nome nome1_2_, produto0_.nome nome1_2_, produto0_.tipo_id produto0_.tipo_id tipo6_1_2_, tipo6_1_2_, produto0_.valor produto0_.valor valor1_2_, valor1_2_, fabricante1_.id fabricante1_.id id0_0_, id0_0_, fabricante1_.nome fabricante1_.nome nome0_0_, nome0_0_, tipoprodut2_.id tipoprodut2_.id id2_1_, id2_1_, tipoprodut2_.descricao tipoprodut2_.descricao descricao2_1_ descricao2_1_ public.produto public.produtoproduto0_ produto0_ inner join inner join public.fabricante public.fabricantefabricante1_ fabricante1_ on produto0_.fabricante_id=fabricante1_.id on produto0_.fabricante_id=fabricante1_.id inner join inner join public.tipo_produto public.tipo_produtotipoprodut2_ tipoprodut2_ on produto0_.tipo_id=tipoprodut2_.id on produto0_.tipo_id=tipoprodut2_.id produto0_.id=? produto0_.id=? Cache de 1º Nível 1º Exemplo

28 28/97 Cache de 1º Nível 1º Exemplo Não Nãofaz fazconsulta consultano nobd. BD. AAEntidade esta no Cache de Entidade esta no Cache de1º1ºnível Nível

29 29/97 Cache de 1º Nível 1º Exemplo HhCode HhCodepri. pri.produto: produto:

30 30/97 Cache de 1º Nível 1º Exemplo HhCode HhCodeseg. seg.produto: produto:

31 31/97 Cache de 1º Nível 1º Exemplo Resultado Resultadoda dacomparação comparaçãoequals: equals:true true

32 32/97 Cache de 1º Nível 1º Exemplo Resultado Resultadoda dacomparação comparaçãoequals: equals:true true

33 33/97 Cache de 1º Nível 2º Exemplo

34 34/97 Cache de 1º Nível 2º Exemplo produto0_.id produto0_.id id1_2_, id1_2_, produto0_.descricao produto0_.descricao descricao1_2_, descricao1_2_, produto0_.fabricante_id produto0_.fabricante_id fabricante5_1_2_, fabricante5_1_2_, produto0_.nome nome1_2_, produto0_.nome nome1_2_, produto0_.tipo_id produto0_.tipo_id tipo6_1_2_, tipo6_1_2_, produto0_.valor valor1_2_, produto0_.valor valor1_2_, fabricante1_.id fabricante1_.id id0_0_, id0_0_, fabricante1_.nome fabricante1_.nome nome0_0_, nome0_0_, tipoprodut2_.id id2_1_, tipoprodut2_.id id2_1_, tipoprodut2_.descricao tipoprodut2_.descricao descricao2_1_ descricao2_1_ public.produto public.produtoproduto0_ produto0_ inner innerjoin join public.fabricante public.fabricantefabricante1_ fabricante1_ on onproduto0_.fabricante_id=fabricante1_.id produto0_.fabricante_id=fabricante1_.id inner innerjoin join public.tipo_produto public.tipo_produtotipoprodut2_ tipoprodut2_ on onproduto0_.tipo_id=tipoprodut2_.id produto0_.tipo_id=tipoprodut2_.id produto0_.id=? produto0_.id=?

35 35/97 Cache de 1º Nível 2º Exemplo produto0_.id produto0_.id id1_2_, id1_2_, produto0_.descricao produto0_.descricao descricao1_2_, descricao1_2_, produto0_.fabricante_id produto0_.fabricante_id fabricante5_1_2_, fabricante5_1_2_, produto0_.nome nome1_2_, produto0_.nome nome1_2_, produto0_.tipo_id produto0_.tipo_id tipo6_1_2_, tipo6_1_2_, produto0_.valor valor1_2_, produto0_.valor valor1_2_, fabricante1_.id fabricante1_.id id0_0_, id0_0_, fabricante1_.nome fabricante1_.nome nome0_0_, nome0_0_, tipoprodut2_.id id2_1_, tipoprodut2_.id id2_1_, tipoprodut2_.descricao tipoprodut2_.descricao descricao2_1_ descricao2_1_ public.produto public.produtoproduto0_ produto0_ inner innerjoin join public.fabricante public.fabricantefabricante1_ fabricante1_ on produto0_.fabricante_id=fabricante1_.id on produto0_.fabricante_id=fabricante1_.id inner innerjoin join public.tipo_produto public.tipo_produtotipoprodut2_ tipoprodut2_ on onproduto0_.tipo_id=tipoprodut2_.id produto0_.tipo_id=tipoprodut2_.id produto0_.id=? produto0_.id=?

36 36/97 Cache de 1º Nível 2º Exemplo HhCode HhCodepri. pri.usuário: usuário:

37 37/97 Cache de 1º Nível 2º Exemplo HhCode HhCodeseg. seg.usuário: usuário:

38 38/97 Cache de 1º Nível 2º Exemplo Resultado Resultadoda dacomparação comparaçãoequals: equals:false false

39 39/97 Cache de 2º Nível Providers EhCache OSCache Terracotta Infinispan

40 40/97 Cache de 2º Nível Persistence.xml

41 41/97 Cache de 2º Nível Mapeamento Cache

42 42/97 Cache de 2º Nível Estratégi READ_ONLY - Esta é a estratégia mais restritiva, indicada para entidades que são apen lid e nunca modificad pela aplicação. READ_WRITE - A estratégia leitura e escrita é a mais abrangente e suporta escrita mais frequente, garantido que a última versão do cache é a mesma do banco. NONSTRICT_READ_WRITE - Indicada para objetos que são raramente atualizados e que têm probabilidade de atualizações simultâne muito baix e é a mais comum. Co muit atualizações ocorram "simultaneamente" pode ser que a última versão comitada no banco não seja a mesma que acabou ficando no seu cache. TRANSACTIONAL - É totalmente transacional, com suporte a caches distribuídos. Poucos providers oferecem esse suporte. O provider EhCache não tem suporte a esta estratégia.

43 43/97 Cache de 2º Nível 1º Exemplo

44 44/97 Cache de 2º Nível 1º Exemplo tipoprodut0_.id tipoprodut0_.id id2_0_, id2_0_, tipoprodut0_.descricao tipoprodut0_.descricao descricao2_0_ descricao2_0_ public.tipo_produto public.tipo_produtotipoprodut0_ tipoprodut0_ tipoprodut0_.id=? tipoprodut0_.id=?

45 45/97 Cache de 2º Nível 1º Exemplo Não Nãofaz fazconsulta consultano nobd. BD. AAEntidade esta no Cache de Entidade esta no Cache de2º2ºnível Nível

46 46/97 Cache de 2º Nível 1º Exemplo HhCode HhCodepri. pri.tipo tipode deproduto: produto:

47 47/97 Cache de 2º Nível 1º Exemplo HhCode HhCodeseg. seg.tipo tipode deproduto: produto:

48 48/97 Cache de 2º Nível 1º Exemplo Resultado Resultadoda dacomparação comparaçãoequals: equals:false false

49 49/97 Cache de 2º Nível 2º Exemplo

50 50/97 Cache de 2º Nível 2º Exemplo tipoprodut0_.id tipoprodut0_.id id2_, id2_, tipoprodut0_.descricao tipoprodut0_.descricao descricao2_ descricao2_ public.tipo_produto public.tipo_produtotipoprodut0_ tipoprodut0_

51 51/97 Cache de 2º Nível 2º Exemplo Não Nãofaz fazconsulta consultano nobd. BD. AAEntidade esta no Cache de Entidade esta no Cache de2º2ºnível Nível

52 52/97 Cache de 2º Nível 2º Exemplo Não Nãofaz fazconsulta consultano nobd. BD. AAEntidade esta no Cache de Entidade esta no Cache de2º2ºnível Nível

53 53/97 DynamicUpdate 1º Exemplo

54 54/97 DynamicUpdate 1º Exemplo produto0_.id produto0_.id id1_2_, id1_2_, produto0_.descricao produto0_.descricao descricao1_2_, descricao1_2_, produto0_.fabricante_id produto0_.fabricante_id fabricante5_1_2_, fabricante5_1_2_, produto0_.nome produto0_.nome nome1_2_, nome1_2_, produto0_.tipo_id produto0_.tipo_id tipo6_1_2_, tipo6_1_2_, produto0_.valor valor1_2_, produto0_.valor valor1_2_, fabricante1_.id fabricante1_.id id0_0_, id0_0_, fabricante1_.nome fabricante1_.nome nome0_0_, nome0_0_, tipoprodut2_.id id2_1_, tipoprodut2_.id id2_1_, tipoprodut2_.descricao tipoprodut2_.descricao descricao2_1_ descricao2_1_ public.produto public.produtoproduto0_ produto0_ inner join inner join public.fabricante public.fabricantefabricante1_ fabricante1_ on onproduto0_.fabricante_id=fabricante1_.id produto0_.fabricante_id=fabricante1_.id inner innerjoin join public.tipo_produto public.tipo_produtotipoprodut2_ tipoprodut2_ on onproduto0_.tipo_id=tipoprodut2_.id produto0_.tipo_id=tipoprodut2_.id produto0_.id=? produto0_.id=?

55 55/97 DynamicUpdate 1º Exemplo update update public.produto public.produto set set descricao=?, descricao=?, fabricante_id=?, fabricante_id=?, nome=?, nome=?, tipo_id=?, tipo_id=?, valor=? valor=? id=? id=?

56 56/97 DynamicUpdate Mapeamento

57 57/97 DynamicUpdate 2º Exemplo

58 58/97 DynamicUpdate 2º Exemplo produto0_.id produto0_.id id1_2_, id1_2_, produto0_.descricao produto0_.descricao descricao1_2_, descricao1_2_, produto0_.fabricante_id produto0_.fabricante_id fabricante5_1_2_, fabricante5_1_2_, produto0_.nome produto0_.nome nome1_2_, nome1_2_, produto0_.tipo_id produto0_.tipo_id tipo6_1_2_, tipo6_1_2_, produto0_.valor valor1_2_, produto0_.valor valor1_2_, fabricante1_.id fabricante1_.id id0_0_, id0_0_, fabricante1_.nome fabricante1_.nome nome0_0_, nome0_0_, tipoprodut2_.id id2_1_, tipoprodut2_.id id2_1_, tipoprodut2_.descricao tipoprodut2_.descricao descricao2_1_ descricao2_1_ public.produto public.produtoproduto0_ produto0_ inner join inner join public.fabricante public.fabricantefabricante1_ fabricante1_ on onproduto0_.fabricante_id=fabricante1_.id produto0_.fabricante_id=fabricante1_.id inner innerjoin join public.tipo_produto public.tipo_produtotipoprodut2_ tipoprodut2_ on onproduto0_.tipo_id=tipoprodut2_.id produto0_.tipo_id=tipoprodut2_.id produto0_.id=? produto0_.id=?

59 59/97 DynamicUpdate 2º Exemplo update update public.produto public.produto set set nome=? nome=? id=? id=?

60 60/97 Query com NEW 1º Exemplo

61 61/97 Query com NEW 1º Exemplo

62 62/97 Query com NEW 1º Exemplo produto0_.id produto0_.id id1_, id1_, produto0_.descricao produto0_.descricao descricao1_, descricao1_, produto0_.fabricante_id produto0_.fabricante_id fabricante5_1_, fabricante5_1_, produto0_.nome nome1_, produto0_.nome nome1_, produto0_.tipo_id produto0_.tipo_id tipo6_1_, tipo6_1_, produto0_.valor valor1_ produto0_.valor valor1_ public.produto public.produtoproduto0_ produto0_ order by order by produto0_.nome produto0_.nome

63 63/97 Query com NEW 2º Exemplo

64 64/97 Query com NEW 2º Exemplo

65 65/97 Query com NEW 2º Exemplo produto0_.id produto0_.id col_0_0_, col_0_0_, produto0_.nome produto0_.nome col_1_0_ col_1_0_ public.produto public.produtoproduto0_ produto0_ order by order by produto0_.nome produto0_.nome

66 66/97 Batch Update 1º Exemplo

67 67/97 Batch Update 1º Exemplo Hibernate: Hibernate: produto0_.id produto0_.id id1_, id1_, produto0_.descricao produto0_.descricao descricao1_, descricao1_, produto0_.fabricante_id produto0_.fabricante_id fabricante5_1_, fabricante5_1_, produto0_.nome nome1_, produto0_.nome nome1_, produto0_.tipo_id produto0_.tipo_id tipo6_1_, tipo6_1_, produto0_.valor valor1_ produto0_.valor valor1_ public.produto public.produtoproduto0_ produto0_ Para Paracada cadaitem itemdo doresultado resultadoacima acimafaz: faz: Hibernate: Hibernate: fabricante0_.id fabricante0_.id id0_0_, id0_0_, fabricante0_.nome fabricante0_.nome nome0_0_ nome0_0_ public.fabricante public.fabricantefabricante0_ fabricante0_ fabricante0_.id=? fabricante0_.id=? Hibernate: Hibernate: tipoprodut0_.id tipoprodut0_.id id2_0_, id2_0_, tipoprodut0_.descricao tipoprodut0_.descricao descricao2_0_ descricao2_0_ public.tipo_produto public.tipo_produtotipoprodut0_ tipoprodut0_ tipoprodut0_.id=? tipoprodut0_.id=?...

68 68/97 Batch Update 1º Exemplo Executa Executapara paracada cadaitem itemdo doresultado resultadoda dalista. lista. Hibernate: Hibernate: update update public.produto public.produto set set valor=? valor=? Id=? Id=?...

69 69/97 Batch Update 2º Exemplo

70 70/97 Batch Update 2º Exemplo update update public.produto public.produto set set valor=valor*? valor=valor*?

71 71/97 Batch... Batch Insert Batch Delete

72 72/97 Binários

73 73/97 Binários

74 74/97 Binários

75 75/97 Binários processo0_.id processo0_.id id6_0_, id6_0_, processo0_.datadistribuicao processo0_.datadistribuicao datadist2_6_0_, datadist2_6_0_, processo0_.numero numero6_0_ processo0_.numero numero6_0_ public.processo public.processoprocesso0_ processo0_ processo0_.id=? processo0_.id=?

76 76/97 Binários movimentos0_.processo_id movimentos0_.processo_id processo5_6_1_, processo5_6_1_, movimentos0_.id id1_, movimentos0_.id id1_, movimentos0_.id movimentos0_.id id8_0_, id8_0_, movimentos0_.data movimentos0_.data data8_0_, data8_0_, movimentos0_.descricao movimentos0_.descricao descricao8_0_, descricao8_0_, movimentos0_.numero numero8_0_, movimentos0_.numero numero8_0_, movimentos0_.processo_id movimentos0_.processo_id processo5_8_0_ processo5_8_0_ public.movimento public.movimentomovimentos0_ movimentos0_ movimentos0_.processo_id=? movimentos0_.processo_id=?

77 77/97 Binários AAcada cadaiteração iteraçãodo dofor FORdo domovimento movimentofaz: faz: arquivos0_.movimento_id arquivos0_.movimento_id movimento7_8_1_, movimento7_8_1_, arquivos0_.id id1_, arquivos0_.id id1_, arquivos0_.id arquivos0_.id id7_0_, id7_0_, arquivos0_.conteudo arquivos0_.conteudo conteudo7_0_, conteudo7_0_, arquivos0_.conteudo_tipo arquivos0_.conteudo_tipo conteudo3_7_0_, conteudo3_7_0_, arquivos0_.data_verificacao_sinatura arquivos0_.data_verificacao_sinatura data4_7_0_, data4_7_0_, arquivos0_.movimento_id movimento7_7_0_, arquivos0_.movimento_id movimento7_7_0_, arquivos0_.nome arquivos0_.nome nome7_0_, nome7_0_, arquivos0_.signatario arquivos0_.signatario signatario7_0_ signatario7_0_ public.arquivo public.arquivoarquivos0_ arquivos0_ arquivos0_.movimento_id=? arquivos0_.movimento_id=?

78 78/97 Binários Somente Somentequando quandooousuário usuárioclicar clicar neste link que vamos mostrar o conteúdo neste link que vamos mostrar o conteúdo do doarquivo. arquivo.????????

79 79/97 Binários

80 80/97 Binários

81 81/97 Binários

82 82/97 Binários

83 83/97 Binários processo0_.id processo0_.id id6_0_, id6_0_, processo0_.datadistribuicao processo0_.datadistribuicao datadist2_6_0_, datadist2_6_0_, processo0_.numero numero6_0_ processo0_.numero numero6_0_ public.processo public.processoprocesso0_ processo0_ processo0_.id=? processo0_.id=?

84 84/97 Binários movimentos0_.processo_id movimentos0_.processo_id processo5_6_1_, processo5_6_1_, movimentos0_.id id1_, movimentos0_.id id1_, movimentos0_.id movimentos0_.id id8_0_, id8_0_, movimentos0_.data movimentos0_.data data8_0_, data8_0_, movimentos0_.descricao movimentos0_.descricao descricao8_0_, descricao8_0_, movimentos0_.numero numero8_0_, movimentos0_.numero numero8_0_, movimentos0_.processo_id movimentos0_.processo_id processo5_8_0_ processo5_8_0_ public.movimento public.movimentomovimentos0_ movimentos0_ movimentos0_.processo_id=? movimentos0_.processo_id=?

85 85/97 Binários AAcada cadaiteração iteraçãodo dofor FORdo domovimento movimentofaz: faz: arquivos0_.movimento_id arquivos0_.movimento_id movimento7_11_1_, movimento7_11_1_, arquivos0_.id id1_, arquivos0_.id id1_, arquivos0_.id arquivos0_.id id7_0_, id7_0_, arquivos0_.conteudo_id arquivos0_.conteudo_id conteudo6_7_0_, conteudo6_7_0_, arquivos0_.conteudo_tipo arquivos0_.conteudo_tipo conteudo2_7_0_, conteudo2_7_0_, arquivos0_.data_verificacao_sinatura arquivos0_.data_verificacao_sinatura data3_7_0_, data3_7_0_, arquivos0_.movimento_id movimento7_7_0_, arquivos0_.movimento_id movimento7_7_0_, arquivos0_.nome arquivos0_.nome nome7_0_, nome7_0_, arquivos0_.signatario arquivos0_.signatario signatario7_0_ signatario7_0_ public.arquiv0 public.arquiv0arquivos0_ arquivos0_ arquivos0_.movimento_id=? arquivos0_.movimento_id=?

86 86/97 Query com FETCH

87 87/97 Query com FETCH process0x0_.id process0x0_.id id4_0_, id4_0_, movimentos1_.id movimentos1_.id id9_1_, id9_1_, process0x0_.datadistribuicao process0x0_.datadistribuicao datadist2_4_0_, datadist2_4_0_, process0x0_.numero numero4_0_, process0x0_.numero numero4_0_, movimentos1_.data movimentos1_.data data9_1_, data9_1_, movimentos1_.descricao movimentos1_.descricao descricao9_1_, descricao9_1_, movimentos1_.numero numero9_1_, movimentos1_.numero numero9_1_, movimentos1_.processo_id movimentos1_.processo_id processo5_9_1_, processo5_9_1_, movimentos1_.processo_id processo5_4_0, movimentos1_.processo_id processo5_4_0, movimentos1_.id movimentos1_.id id0 id0 public.process0 public.process0process0x0_ process0x0_ left outer join left outer join public.moviment0 public.moviment0movimentos1_ movimentos1_ on process0x0_.id=movimentos1_.processo_id on process0x0_.id=movimentos1_.processo_id process0x0_.id=? process0x0_.id=?

88 88/97 Query com FETCH Agora Agoranão nãofaz faznada, nada,jájácarregou carregouos os movimentos na consulta anterior. movimentos na consulta anterior.

89 89/97 Query com FETCH AAcada cadaiteração iteraçãodo dofor FORdo domovimento movimentofaz: faz: arquivos0_.movimento_id arquivos0_.movimento_id movimento7_11_1_, movimento7_11_1_, arquivos0_.id id1_, arquivos0_.id id1_, arquivos0_.id arquivos0_.id id7_0_, id7_0_, arquivos0_.conteudo_id arquivos0_.conteudo_id conteudo6_7_0_, conteudo6_7_0_, arquivos0_.conteudo_tipo arquivos0_.conteudo_tipo conteudo2_7_0_, conteudo2_7_0_, arquivos0_.data_verificacao_sinatura arquivos0_.data_verificacao_sinatura data3_7_0_, data3_7_0_, arquivos0_.movimento_id movimento7_7_0_, arquivos0_.movimento_id movimento7_7_0_, arquivos0_.nome arquivos0_.nome nome7_0_, nome7_0_, arquivos0_.signatario arquivos0_.signatario signatario7_0_ signatario7_0_ public.arquiv0 public.arquiv0arquivos0_ arquivos0_ arquivos0_.movimento_id=? arquivos0_.movimento_id=?

90 90/97 BatchSize

91 91/97 BatchSize

92 92/97 BatchSize

93 93/97 BatchSize process0x0_.id process0x0_.id id4_0_, id4_0_, movimentos1_.id movimentos1_.id id9_1_, id9_1_, process0x0_.datadistribuicao process0x0_.datadistribuicao datadist2_4_0_, datadist2_4_0_, process0x0_.numero numero4_0_, process0x0_.numero numero4_0_, movimentos1_.data movimentos1_.data data9_1_, data9_1_, movimentos1_.descricao movimentos1_.descricao descricao9_1_, descricao9_1_, movimentos1_.numero numero9_1_, movimentos1_.numero numero9_1_, movimentos1_.processo_id movimentos1_.processo_id processo5_9_1_, processo5_9_1_, movimentos1_.processo_id processo5_4_0, movimentos1_.processo_id processo5_4_0, movimentos1_.id movimentos1_.id id0 id0 public.process0 public.process0process0x0_ process0x0_ left outer join left outer join public.moviment0 public.moviment0movimentos1_ movimentos1_ on process0x0_.id=movimentos1_.processo_id on process0x0_.id=movimentos1_.processo_id process0x0_.id=? process0x0_.id=?

94 94/97 BatchSize Agora Agoranão nãofaz faznada, nada,jájácarregou carregouos os movimentos na consulta anterior. movimentos na consulta anterior.

95 95/97 BatchSize arquivos0_.movimento_id arquivos0_.movimento_id movimento7_11_1_, movimento7_11_1_, arquivos0_.id id1_, arquivos0_.id id1_, arquivos0_.id arquivos0_.id id7_0_, id7_0_, arquivos0_.conteudo_id arquivos0_.conteudo_id conteudo6_7_0_, conteudo6_7_0_, arquivos0_.conteudo_tipo arquivos0_.conteudo_tipo conteudo2_7_0_, conteudo2_7_0_, arquivos0_.data_verificacao_sinatura arquivos0_.data_verificacao_sinatura data3_7_0_, data3_7_0_, arquivos0_.movimento_id movimento7_7_0_, arquivos0_.movimento_id movimento7_7_0_, arquivos0_.nome arquivos0_.nome nome7_0_, nome7_0_, arquivos0_.signatario arquivos0_.signatario signatario7_0_ signatario7_0_ public.arquiv0 public.arquiv0arquivos0_ arquivos0_ arquivos0_.movimento_id arquivos0_.movimento_idinin( (?,?,?,?,?,?,?,?,?? ))

96 96/97 Utilizar A vontade Hibernate Statistics Paginação query.setfirstresult() - Offset query.setmaxresults() - Limit Pool de conexões Aplication server Ex: JBOSS AS C3P0 Com cautela Sql nativo - Procedures Desnormalização

97 97/97 Obrigado :)

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 5. Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com)

Aula 5. Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com) Persistência com JDBC e JPA Aula 5 Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com) Quem é sábio procura aprender, mas os tolos estão satisfeitos com a sua própria ignorância..

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

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

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

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Luis Gustavo Zandarim Soares 1, Késsia Rita da Costa Marchi 1 1 Universidade Paranaense (Unipar) Paraná PR Brasil luisgustavo@live.co.uk,

Leia mais

SISTEMA GERENCIAL TRATORPLAN

SISTEMA GERENCIAL TRATORPLAN SISTEMA GERENCIAL TRATORPLAN SIGET Fabrício Pereira Santana¹, Jaime William Dias¹, ², Ricardo de Melo Germano¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil fabricioblack@gmail.com germano@unipar.br

Leia mais

Parte II Persistência entre Modelos de Dados

Parte II Persistência entre Modelos de Dados Parte II Persistência entre Modelos de Dados Clodis Boscarioli Agenda: Hibernate Introdução; Configurações; Mapeamento com XML; Exemplos; Associações: 1-n; n-1; n-n; 1-1. Hibernate - Introdução O Hibernate

Leia mais

Auditoria Avançada de Persistência com Hibernate, JPA e Envers

Auditoria Avançada de Persistência com Hibernate, JPA e Envers a r t i g o José Yoshiriro Ajisaka Ramos (jyoshiriro@gmail.com): bacharel em Sistema de Informação (IESAM). Mestrando em Ciência da Computação (UFPA). Instrutor na Equilibrium Web e na UAB. Engenheiro

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

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

Persistência. 2004 Fernando Lozano, http://www.lozano.eti.br Persistência Objeto-Relacional com Java Pag. 1

Persistência. 2004 Fernando Lozano, http://www.lozano.eti.br Persistência Objeto-Relacional com Java Pag. 1 Persistência Objeto-Relacional com Java Fernando Lozano http://www.lozano.eti.br Consultor Independente Prof. Faculdades UniABEU Prof. SENAC Editor Adjunto da Revista Java Magazine 2004 Fernando Lozano,

Leia mais

ALTO DESEMPENHO UTILIZANDO FRAMEWORK HIBERNATE E PADRÃO JAVA PERSISTENCE API

ALTO DESEMPENHO UTILIZANDO FRAMEWORK HIBERNATE E PADRÃO JAVA PERSISTENCE API ALTO DESEMPENHO UTILIZANDO FRAMEWORK HIBERNATE E PADRÃO JAVA PERSISTENCE API Tiago Henrique Gomes da Silva Balduino 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil tiagobalduino77@gmail.com

Leia mais

Criando e executando consultas. Formas de criar consultas

Criando e executando consultas. Formas de criar consultas Criando e executando consultas Formas de criar consultas 1 Formas de consultas Hibernate Query Language (HQL), e um subconjunto do padrão JPA QL (Java Persistence API Query Language : session.createquery("from

Leia mais

Persistindo dados com TopLink no NetBeans

Persistindo dados com TopLink no NetBeans Persistindo dados com TopLink no NetBeans O que é TopLink? O TopLink é uma ferramenta de mapeamento objeto/relacional para Java. Ela transforma os dados tabulares de um banco de dados em um grafo de objetos

Leia mais

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS Pablo dos Santos Alves Alexander Roberto Valdameri - Orientador Roteiro da apresentação Introdução Objetivos Motivação Revisão bibliográfica

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

Java e Banco de Dados: JDBC, Hibernate e JPA

Java e Banco de Dados: JDBC, Hibernate e JPA Java e Banco de Dados: JDBC, Hibernate e JPA 1 Objetivos Apresentar de forma progressiva as diversas alternativas de persistência de dados que foram evoluindo na tecnologia Java, desde o JDBC, passando

Leia mais

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

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) Sessão Prática II JPA entities e unidades de persistência 1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) a) Criar um Web Application (JPAsecond) como anteriormente:

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 SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1

PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1 PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB PADRÕES MVC E DAO Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o conceito de Padrões de Projeto Compreender o Padrão MVC Conhecer o princípio de alguns dos

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

FICHA DE CATALOGAÇÃO DE REVISTAS DE NOTÍCIAS. Coleção

FICHA DE CATALOGAÇÃO DE REVISTAS DE NOTÍCIAS. Coleção Título: SQL Magazine Notas de Título Feita para Desenvolvedores de Software e DBAs. Descrição Geral: Revista focada em banco de dados, análise, projeto e modelagem. Editor(es): Diretor responsável Gladstone

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

MSc. Daniele Carvalho Oliveira

MSc. Daniele Carvalho Oliveira MSc. Daniele Carvalho Oliveira AULA 2 Administração de Banco de Dados: MSc. Daniele Oliveira 2 CONCEITOS FUNDAMENTAIS DE BANCO DE DADOS Administração de Banco de Dados: MSc. Daniele Oliveira 3 Conceitos

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 professor.fabrizzio@gmail.com Aula 7 JPA A Persistência com JPA Para configurar o JPA

Leia mais

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

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

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

UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL. Java Peristence API 1. UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL Java Peristence API 1.0 Salvador-Ba Março/2009 1 RAMON PEREIRA LOPES Java Peristence API

Leia mais

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

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Ferramenta de apoio a gerência de configuração de software Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Gerência de Configuração

Leia mais

RESUMO. Palavras-chave: Persistência. Framework ORM. JPA. Benckmark. ABSTRACT

RESUMO. Palavras-chave: Persistência. Framework ORM. JPA. Benckmark. ABSTRACT BENCHMARK DE FRAMEWORK MAPEAMENTO OBJETO-RELACIONAL (ORM) UMA ANÁLISE UTILIZANDO JAVA PERSISTENCE API (JPA) FRAMEWORK S BENCHMARK OBJECT-RELATIONAL MAPPING (ORM) - AN ANALYSIS USING JAVA PERSISTENCE API

Leia mais

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

AULA 2 INTERAÇÃO COM O BANCO DE DADOS AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,

Leia mais

O que há de errado com o JDBC?

O que há de errado com o JDBC? Capítulo 6. Decisões arquiteturais Bean Validation, injeção de dependências com CDI e até transformar os managed beans em EJBs para ganhar os serviços do container. Mesmo com diversas vantagens, o JSF

Leia mais

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO UTILIZANDO O HIBERNATE Rafael Laurino GUERRA, Dra. Luciana Aparecida Martinez ZAINA Faculdade de Tecnologia de Indaiatuba FATEC-ID 1 RESUMO Este artigo apresenta

Leia mais

JAVA ENTERPRISE EDITION: PERSISTÊNCIA DE BANCO DE DADOS

JAVA ENTERPRISE EDITION: PERSISTÊNCIA DE BANCO DE DADOS COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO JAVA ENTERPRISE EDITION: PERSISTÊNCIA DE BANCO DE DADOS FOZ DO IGUAÇU 2013 SUMÁRIO 1. PERSISTÊNCIA

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

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

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44 Armazenando Dados em Aplicações Java Parte 2 de 3: Apresentando as opções Hua Lin Chang Costa, hualin@cos.ufrj.br, COPPE/UFRJ. Leonardo Gresta Paulino Murta, leomurta@ic.uff.br, IC/UFF. Vanessa Braganholo,

Leia mais

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011 CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma

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

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

Dados em Java. Introdução

Dados em Java. Introdução Interface Gráfica e Banco de Dados em Java Introdução Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. Licença para uso e

Leia mais

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

AULA 2 INTERAÇÃO COM O BANCO DE DADOS AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,

Leia mais

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados. BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Hoje é

Leia mais

Introdução ao SQL. O que é SQL?

Introdução ao SQL. O que é SQL? Introdução ao SQL 1 O que é SQL? Inicialmente chamada de Sequel, SQL (Structured Query Language), é a linguagem padrão utilizada para comunicar-se com um banco de dados relacional. A versão original foi

Leia mais

CURSO DESENVOLVEDOR JAVA Edição 2009

CURSO DESENVOLVEDOR JAVA Edição 2009 CURSO DESENVOLVEDOR JAVA Edição 2009 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos e com o uso

Leia mais

WebApps em Java com uso de Frameworks

WebApps em Java com uso de Frameworks WebApps em Java com uso de Frameworks Fred Lopes Índice O que são frameworks? Arquitetura em camadas Arquitetura de sistemas WEB (WebApps) Listagem resumida de frameworks Java Hibernate O que são frameworks?

Leia mais

Sumário Agradecimentos... 19 Sobre.o.autor... 20 Prefácio... 21 Capítulo.1..Bem-vindo.ao.MySQL... 22

Sumário Agradecimentos... 19 Sobre.o.autor... 20 Prefácio... 21 Capítulo.1..Bem-vindo.ao.MySQL... 22 Sumário Agradecimentos... 19 Sobre o autor... 20 Prefácio... 21 Capítulo 1 Bem-vindo ao MySQL... 22 1.1 O que é o MySQL?...22 1.1.1 História do MySQL...23 1.1.2 Licença de uso...23 1.2 Utilizações recomendadas...24

Leia mais

COMPARAÇÃO ENTRE OS FRAMEWORKS DE DESENVOLVIMENTO DE SOFTWARE ENTITY FRAMEWORK E NHIBERNATE : ESTUDO DE CASO EM UM SISTEMA

COMPARAÇÃO ENTRE OS FRAMEWORKS DE DESENVOLVIMENTO DE SOFTWARE ENTITY FRAMEWORK E NHIBERNATE : ESTUDO DE CASO EM UM SISTEMA 73 COMPARAÇÃO ENTRE OS FRAMEWORKS DE DESENVOLVIMENTO DE SOFTWARE ENTITY FRAMEWORK E NHIBERNATE : ESTUDO DE CASO EM UM SISTEMA Daniel José Angotti Analista de Negócio, Repom S/A djangotti@gmail.com Carlos

Leia mais

PLANO DE ENSINO INSTITUTO FEDERAL SUL-RIO-GRANDENSE CAMPUS SAPUCAIA DO SUL PRÓ-REITORIA DE ENSINO

PLANO DE ENSINO INSTITUTO FEDERAL SUL-RIO-GRANDENSE CAMPUS SAPUCAIA DO SUL PRÓ-REITORIA DE ENSINO INSTITUTO FEDERAL SUL-RIO-GRANDENSE CAMPUS SAPUCAIA DO SUL PRÓ-REITORIA DE ENSINO Curso: Técnico em Informática Disciplina: Linguagem de Programação III Turma: 4I Professor (a): Ricardo Luis dos Santos

Leia mais

Disciplina de Banco de Dados Parte V

Disciplina de Banco de Dados Parte V Disciplina de Banco de Dados Parte V Prof. Elisa Maria Pivetta CAFW - UFSM Modelo de Dado Relacional O Modelo Relacional O Modelo ER é independente do SGDB portanto, deve ser o primeiro modelo gerado após

Leia mais

SISTEMA PARA COMPOSIÇÃO E CORREÇÃO DE LISTAS DE QUESTÕES DE MÚLTIPLA ESCOLHA

SISTEMA PARA COMPOSIÇÃO E CORREÇÃO DE LISTAS DE QUESTÕES DE MÚLTIPLA ESCOLHA UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ROBERTO ROSIN SISTEMA PARA COMPOSIÇÃO E CORREÇÃO DE LISTAS DE QUESTÕES DE MÚLTIPLA ESCOLHA

Leia mais

HIBERNATE EM APLICAÇÃO JAVA WEB

HIBERNATE EM APLICAÇÃO JAVA WEB HIBERNATE EM APLICAÇÃO JAVA WEB Raul Victtor Barbosa Claudino¹, Ricardo Ribeiro Rufino¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil victtor.claudino@gmail.com, ricardo@unipar.br Resumo: Este

Leia mais

FRWTC-235 WORKSHOP ORACLE CERTIFIED JAVA EE 6 JPA DEVELOPER

FRWTC-235 WORKSHOP ORACLE CERTIFIED JAVA EE 6 JPA DEVELOPER FRWTC-235 WORKSHOP ORACLE CERTIFIED JAVA EE 6 JPA DEVELOPER SOBRE A FRAMEWORK A Framework (www.frwtc.com) atua diretamente com profissionais do segmento de tecnologia em busca de capacitação, atualização

Leia mais

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos

Leia mais

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011 Banco de Dados Aula 1 - Prof. Bruno Moreno 16/08/2011 Roteiro Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza autodescritiva

Leia mais

Alta concorrência com PostgreSQL

Alta concorrência com PostgreSQL Alta concorrência com PostgreSQL ou Fazendo uma manada de elefantes passar debaixo da porta Fábio Telles Rodriguez Timbira - A empresa brasileira de PostgreSQL 09 de novembro de 2012 Agenda Sobre o que

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

Fatos e Mitos do Java EE. Fernando Lozano Consultor 4Linux lozano@4linux.com.br

Fatos e Mitos do Java EE. Fernando Lozano Consultor 4Linux lozano@4linux.com.br Fatos e Mitos do Java EE Fernando Lozano Consultor 4Linux lozano@4linux.com.br O Que É o Java EE? É um padrão de bibliotecas e componentes (APIs) para a criação de aplicações corporativas Também é um padrão

Leia mais

UNIVERSIDADE ESTADUAL DO CENTRO-OESTE UNICENTRO CURSO DE ESPECIALIZAÇÃO EM MÍDIAS EM EDUCAÇÃO

UNIVERSIDADE ESTADUAL DO CENTRO-OESTE UNICENTRO CURSO DE ESPECIALIZAÇÃO EM MÍDIAS EM EDUCAÇÃO UNIVERSIDADE ESTADUAL DO CENTRO-OESTE UNICENTRO CURSO DE ESPECIALIZAÇÃO EM MÍDIAS EM EDUCAÇÃO Jader dos Santos Teles Cordeiro Orientador Prof. Paulo Guilhermeti PERSISTÊNCIA EM OBJETOS JAVA: UMA ANÁLISE

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

Arquitetura de Banco de Dados

Arquitetura de Banco de Dados Arquitetura de Banco de Dados Daniela Barreiro Claro MAT A60 DCC/IM/UFBA Arquitetura de Banco de dados Final de 1972, ANSI/X3/SPARC estabeleceram o relatório final do STUDY GROUP Objetivos do Study Group

Leia mais

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

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Desenvolvendo Aplicações Web com NetBeans

Desenvolvendo Aplicações Web com NetBeans Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo

Leia mais

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Introdução à Banco de Dados. Nathalia Sautchuk Patrício Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem

Leia mais

ANÁLISE E AVALIAÇÃO DO FRAMEWORK HIBERNATE EM UMA APLICAÇÃO CLIENTE/SERVIDOR.

ANÁLISE E AVALIAÇÃO DO FRAMEWORK HIBERNATE EM UMA APLICAÇÃO CLIENTE/SERVIDOR. Carolina Fernanda da Silva R.A.: 0402013 ANÁLISE E AVALIAÇÃO DO FRAMEWORK HIBERNATE EM UMA APLICAÇÃO CLIENTE/SERVIDOR. Jaguariúna 2007 1 Carolina Fernanda da Silva R.A.: 0402013 ANÁLISE E AVALIAÇÃO DO

Leia mais

PROJETO PEDAGÓGICO DE CURSOS

PROJETO PEDAGÓGICO DE CURSOS 1 de 6 PROJETO PEDAGÓGICO DE CURSOS BURITREINAMENTOS MANAUS-AM MARÇO / 2015 2 de 6 PACOTES DE TREINAMENTOS BURITECH A Buritech desenvolveu um grupo de pacotes de treinamentos, aqui chamados de BuriPacks,

Leia mais

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão SISTEMAS DE BANCO DE DADOS Prof. Adriano Pereira Maranhão 1 REVISÃO BANCO DE DADOS I O que é banco de dados? Ou seja afinal o que é um SGBD? REVISÃO BD I REVISÃO DE BD I Um Sistema de Gerenciamento de

Leia mais

Programação e Configuração de Aplicações JEE. Edilmar Alves

Programação e Configuração de Aplicações JEE. Edilmar Alves Programação e Configuração de Aplicações JEE Edilmar Alves Palestrante Sócio da InterSite Informática Professor Universitário Coordenador do JUGMS e membro do BrazilJUGs Fã de Linux, Java e outros softwares

Leia mais

Banco de Dados. Maurício Edgar Stivanello

Banco de Dados. Maurício Edgar Stivanello Banco de Dados Maurício Edgar Stivanello Agenda Conceitos Básicos SGBD Projeto de Banco de Dados SQL Ferramentas Exemplo Dado e Informação Dado Fato do mundo real que está registrado e possui um significado

Leia mais

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

Fundamentos dos Sistemas de Informação Organização de Dados e Informações Fundamentos dos Sistemas de Informação Organização de Dados e Informações http://professor.fimes.edu.br/milena milenaresende@fimes.edu.br Sistema de Gerenciamento de Bases de Dados (DBMS) A implementação

Leia mais

Análise de Desempenho dos Frameworks de Persistência Hibernate e Spring Data

Análise de Desempenho dos Frameworks de Persistência Hibernate e Spring Data Análise de Desempenho dos Frameworks de Persistência e Spring Data Vitor Gotardo, Edson A. Oliveira Junior 2 Resumo. Grande parte das aplicações desenvolvidas utilizando linguagens orientadas a objetos

Leia mais

Gabarito - Banco de Dados SQL - 30/07/2013 AULA 01

Gabarito - Banco de Dados SQL - 30/07/2013 AULA 01 Gabarito - Banco de Dados SQL - 30/07/2013 AULA 01 1 1- Bancos de dados compreendem desde agendas telefônicas até sistemas computadorizados. (Sim) 2- Só podemos instalar o SQL Server Express se tivermos

Leia mais

Tuning para Desenvolvedores DB2

Tuning para Desenvolvedores DB2 Tuning para Desenvolvedores DB2 Perallis IT Innovation Soluções em Armazenamento de dados www.perallis.com contato@perallis.com +55 19 3203-1002 SOBRE ESTE CURSO PÚBLICO-ALVO O curso Tuning para Desenvolvedores

Leia mais

Este livro é dedicado a minha esposa Edna e a todos os desenvolvedores que fizeram do software livre um meio profissional levado a sério.

Este livro é dedicado a minha esposa Edna e a todos os desenvolvedores que fizeram do software livre um meio profissional levado a sério. EDSON GONÇALVES Este livro é dedicado a minha esposa Edna e a todos os desenvolvedores que fizeram do software livre um meio profissional levado a sério. AGRADECIMENTOS Primeiramente gostaria de agradecer

Leia mais

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs 1 Bancos de Dados - Introdução Melissa Lemos melissa@inf.puc-rio.br Tópicos Evolução dos Sistemas de Informação Esquemas Modelos Conceitual Lógico Características de SGBDs 2 Evolução tempo Programas e

Leia mais

Bases de Dados aplicadas a Inteligência de Negócios

Bases de Dados aplicadas a Inteligência de Negócios Agenda Bases de Dados aplicadas a Inteligência de Negócios Professor Sérgio Rodrigues professor@sergiorodrigues.net Sistemas de Gerenciamento de Bancos de Dados (SGBD) Tipos de Banco de Dados Noções de

Leia mais

08/04/2013. Agenda. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ

08/04/2013. Agenda. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ Agenda Caché Server Pages Uma Aplicação Banco de Dados Fernando Fonseca Ana Carolina Salgado Mestrado Profissional 2 SGBD de alto desempenho e escalabilidade Servidor de dados multidimensional Arquitetura

Leia mais

ATA DE REUNIÃO. 1) Recebimento de eventuais questionamentos e/ou solicitações de esclarecimentos Até 14/04/2009 às 18:00 horas;

ATA DE REUNIÃO. 1) Recebimento de eventuais questionamentos e/ou solicitações de esclarecimentos Até 14/04/2009 às 18:00 horas; ATA DE REUNIÃO CONSULTA PÚBLICA PARA AQUISIÇÃO DE SOLUÇÃO DE FIREWALL DE BANCO DE DADOS, PARA OS CENTROS DE PROCESSAMENTO DA DATAPREV, NO RIO DE JANEIRO, SÃO PAULO E DISTRITO FEDERAL Local: Dataprev SAS

Leia mais

Entity Beans. Introdução Entity Beans BMP

Entity Beans. Introdução Entity Beans BMP Entity Beans Introdução Entity Beans BMP Agenda Conceitos básicos de persistência Definição de entity beans Recursos Conceitos de programação Típos de entity beans Exemplos de entity beans usando Bean-

Leia mais

Universidade Federal de Goiás Ciências da Computação Sistemas Operacionais 2

Universidade Federal de Goiás Ciências da Computação Sistemas Operacionais 2 Universidade Federal de Goiás Ciências da Computação Sistemas Operacionais 2 MongoDB Diego Fraga - 083746 Gabriel Henrique - 083771 Lauro Henrique - 074259 O que é MongoDB? - MongoDB é uma ferramenta de

Leia mais

14/09/2008. Curso Superior de Tecnologia em Bando de Dados Disciplina: Projeto de Banco de Dados Relacional II Prof.: Fernando Hadad Zaidan

14/09/2008. Curso Superior de Tecnologia em Bando de Dados Disciplina: Projeto de Banco de Dados Relacional II Prof.: Fernando Hadad Zaidan Faculdade INED Curso Superior de Tecnologia em Bando de Dados Disciplina: Projeto de Banco de Dados Relacional II Prof.: Fernando Hadad Zaidan Unidade 2.2 1 2 Material usado na montagem dos Slides Bibliografia

Leia mais

Fundamentos do Sistema Gerenciador de Banco de Dados

Fundamentos do Sistema Gerenciador de Banco de Dados Fundamentos do Sistema Gerenciador de Banco de Dados Cláudio Luís V. Oliveira Janeiro de 2010 Definição "Um sistema cujo objetivo principal é gerenciar o acesso, a correta manutenção e a integridade dos

Leia mais

Tecnologias Java JDBC. Marcio Seiji Oyamada msoyamada@gmail.com

Tecnologias Java JDBC. Marcio Seiji Oyamada msoyamada@gmail.com Tecnologias Java JDBC Marcio Seiji Oyamada msoyamada@gmail.com 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

Qualificar pessoas pra produzir resultados diferenciados

Qualificar pessoas pra produzir resultados diferenciados Qualificar pessoas pra produzir resultados diferenciados (61) 3024-0532 www.dissemine.com.br SCRN 702/703 bl. C Loja 50 - Asa Norte - Brasília - DF - CEP: 70.720-630 SOBRE A DISSEMINE TREINAMENTOS EM TI

Leia mais

Análise de Desempenho dos Frameworks de Persistência Hibernate e EclipseLink

Análise de Desempenho dos Frameworks de Persistência Hibernate e EclipseLink Análise de Desempenho dos Frameworks de Persistência e EclipseLink Aurélio Vargas Ramos Júnior 1, Edson A. Oliveira Junior 2 Resumo. Nas aplicações de software é comum o armazenamento de dados persistentes.

Leia mais

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 5 Servidores de Aplicação

Leia mais

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Faculdade INED Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan 1 Unidade 2 Introdução a SQL 2 Leitura Obrigatória ELMASRI,

Leia mais

Gerenciamento de um Sistema de

Gerenciamento de um Sistema de SBD Gerenciamento de um Sistema de Banco de Dados Prof. Michel Nobre Muza ua michel.muza@ifsc.edu.br Prof. Marcos Antonio Viana Nascimento Por que é importante: Motivação Participar na organização e no

Leia mais

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SISTEMA GERENCIADOR

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso de Aprendizado Industrial Desenvolvedor WEB Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os

Leia mais

Sistema de Controle de Estoque

Sistema de Controle de Estoque FACULDADE DE TECNOLOGIA SENAC GOIAS GESTÃO EM TECNOLOGIA DA INFORMÇÃO TÓPICOS AVANÇADOS EM BANCO DE DADOS Professor: Olegário Correia Neto Alunos: Marcelo Gonçalves, Juliano Pirozelli, João Lucas Pecin,

Leia mais

Programação com Acesso a Banco de Dados

Programação com Acesso a Banco de Dados Campus Ipanguaçu Curso: Técnico em Informática Programação com Acesso a Banco de Dados AULA 17 ACESSO A BANCO DE DADOS COM JDBC PROF.: CLAYTON M. COSTA 2 011.2 Introdução Aplicação + Banco de Dados: Funcionalidade

Leia mais

Apresentação. Fernando Lozano

Apresentação. Fernando Lozano JBoss AS Avançado JBoss AS Slide 1 2 Apresentação Fernando Lozano fernando@lozano.eti.br Profissional Certificado LPI RHCE JBoss Dev SCWCD IBM SOA MCSE Consultor em Software Livre há 15 anos Consultor

Leia mais

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES Hugo Henrique Rodrigues Correa¹, Jaime Willian Dias 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil hugohrcorrea@gmail.com, jaime@unipar.br Resumo.

Leia mais

PROCEDIMENTOS ARMAZENADOS (Stored Procedures)

PROCEDIMENTOS ARMAZENADOS (Stored Procedures) PROCEDIMENTOS ARMAZENADOS (Stored Procedures) 1. Introdução Stored Procedure é um conjunto de comandos, ao qual é atribuído um nome. Este conjunto fica armazenado no Banco de Dados e pode ser chamado a

Leia mais

Disciplina: Unidade V: Prof.: E-mail: Período:

Disciplina: Unidade V: Prof.: E-mail: Período: Encontro 17 Disciplina: Sistemas de Banco de Dados Unidade V: Introdução à Linguagem SQL Prof.: Mario Filho E-mail: pro@mariofilho.com.br Período: 5º. SIG - ADM 13. Introdução à Linguagem SQL Introdução

Leia mais

CURSO DESENVOLVEDOR JAVA Edição 2010

CURSO DESENVOLVEDOR JAVA Edição 2010 CURSO DESENVOLVEDOR JAVA Edição 2010 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos e com o uso

Leia mais

André Milani. Novatec

André Milani. Novatec André Milani Novatec Sumário Agradecimentos...19 Sobre o autor...21 Prefácio...23 Capítulo 1 Bem-vindo ao PostgreSQL...25 1.1 O que é o PostgreSQL?...25 1.1.1 História do PostgreSQL...26 1.1.2 Licença

Leia mais