Desmistificando o Hibernate Envers em 10 passos

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Desmistificando o Hibernate Envers em 10 passos"

Transcrição

1 _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 ter informações de quem, quando e o que foi modificado por um usuário. Em dez passos tem-se uma aplicação capaz de gerenciar todas as modificações realizadas na base de dados de forma simples e não intrusiva. Quando desenvolvemos sistemas de criticidade alta, que requerem regras de trilha de auditoria ou log de ações realizadas pelo usuário (isso ocorre principalmente em sistemas governamentais) nos deparamos com inclusões de auditoria na base de dados, gerando um registro de histórico das ações exercidas passo a passo pelos usuários. A motivação para o cliente solicitar esse requisito é poder auditar completamente os seus dados, ou seja, rastrear o histórico de mudança e ter as informações de quem, quando e o que foi modificado. Esse requisito é tratado como ponto crítico para o sistema e avaliado pelos gerentes e/ou líderes de projeto na gestão de riscos do projeto. Cabe ao arquiteto decidir qual será a solução técnica e o procedimento adotado para gerar uma trilha de auditoria utilizando bibliotecas que auxiliam no registro histórico dos dados. O framework Hibernate Envers nos ajuda a criar trilhas de auditoria de forma simples, eficaz e principalmente não intrusiva, sendo compatível com projetos que utilizam o Hibernate para a camada de persistência. Esse framework ao facilitar o versionamento de classes persistentes (ORM) agrega valor ao produto entregue ao cliente, visto possibilitar respostas sobre quem, quando e o que foi modificado. 5 \

2 Bruno Moreira Rocha é brasiliense, bacharel em Ciências da Computação pelo UniCEUB e trabalha com Java há 6 anos. É SCJP, OCWCD e Certified ScrumMaster. Luis Gustavo Santos Fernandez é formado em Engenharia da Computação pelo Centro Universitário de Brasília. Trabalha com desenvolvimento de software há 6 anos. Atualmente exercendo a função de arquiteto de sistemas. Este artigo está estruturado de forma que o leitor consiga entender o Hibernate Envers e desmistificá- -lo em dez (10) passos, contendo itens como: conceito, configuração, modelagem de dados e consultas de registros históricos. Hibernate Envers O Envers (Easy Entity Versioning) é um framework que possibilita o versionamento das entidades persistentes de forma simples e fácil, sendo necessária somente a utilização de anotações. Com isso é permitido manter um histórico das alterações dos dados das entidades, sem que o desenvolvedor gere classes específicas para o mapeamento das entidades de histórico. Para auditar as alterações realizadas na entidade por meio de conceitos de revisão similares aos do Subversion. O conceito de revisão se caracteriza pela persistência de uma entidade, mapeada pela biblioteca, em uma transação atômica. Ou seja, para toda persistência de uma entidade auditável é criada uma revisão, um clone do objeto contendo um atributo de revisão como chave primária que persiste em uma tabela de histórico na base de dados. O Hibernate Envers, módulo do Hibernate, requer o Hibernate Annotations e o EntityManager para o seu funcionamento. Além disso, as entidades devem ter identificadores únicos (Primary Key) imutáveis. O Envers trabalha de forma autônoma ou dentro de um container como JBoss AS, em conjunto com os Frameworks JBoss SEAM ou SpringFramework. Algumas características:» Mapeamento da auditoria definido pela especificação do JPA.» Mapeamentos de auditoria, em conjunto com a JPA, extensíveis para atributos de dados, como coleções e mapas.» Criação de um registro de revisão para cada registro de dados de auditoria, ou seja, para cada entidade auditada é criada uma entidade de revisão.» Consulta de dados históricos. Desmistificando o Hibernate Envers em dez passos Para facilitar o entendimento dos passos abaixo utilizaremos um modelo de dados para ilustrar o nosso universo (figura 1). Passo 1: Transações de Auditorias O Envers considera que cada transação como uma nova revisão (similar ao conceito do subversion), desde que a entidade esteja mapeada com a Quando houver transações concorrentes de uma mesma entidade, para que o histórico seja real, a inclusão do histórico ocorrerá em uma mesma transação. Um erro comum que pode ocorrer é quando se utiliza relacionamentos um para muitos (OneTo- Many) e muitos para muitos (ManyToMany). Ao incluir a entidade pai, os relacionamentos representados por coleções devem ser persistidos na mesma transação. Ao persistir o relacionamento em uma transação distinta, o Envers definirá códigos de revisão diferentes para a Entidade pai e para os relacionamentos deixando completamente inconsistente a consulta do histórico. Passo 2: Restrições e Definições O Envers possui algumas definições e restrições que devem ser conhecidas para um melhor entendimento dos passos seguintes. As entidades não auditadas não podem ser anotadas Por mais que a anotação possua o atributo targetauditmode definido como RelationTargetAuditMode.NOT_AUDITED, o Envers considerará que a classe será auditada. isso diz respeito somente aos atributos e relacionamentos da Entidade, sendo assim, caso na análise da entidade seja verificado que a mesma não precisa ser audita- / 6

3 Figura 1. Modelo de dados. da, não acrescente a anotação. Quando utilizamos o JPA/Hibernate para o mapeamento de entidades e necessitamos mapear entidades que contenham chaves primárias compostas é necessária a criação de uma classe que representa a chave composta. Como restrição do Envers, nesse tipo de mapeamento, não podemos @OneToMany e/ O Envers não suporta coleções porque esse tipo de dado pode conter elementos não excludentes. O motivo está contido no conceito de normalização de dados, mais especificamente na primeira forma normal, segundo a qual cada atributo de uma tabela deve conter somente valores atômicos e não pode conter grupos ou atributos multivalorados. No caso de tabelas que requerem uma tabela associativa quando houver um elemento duplicado será lançada uma exceção devido à violação de restrição exclusiva. Ao utilizar para representar um mapeamento bidirecional, pode-se ocasionar exceções de mapeamento no qual o Envers nos informa que o atributo mapeado não pode ser lido. Para solucionar o problema devemos utilizar a ao invés da Neste momento o Envers não irá auditar o relacionamento bidirecional. Listagem 1. A Listagem 1 apresenta um exemplo de mapeamento muitos para um utilizando a ManyToOne. = property = RelationTargetAuditMode. NOT_AUDITED) private Object objeto; Listagem 2. A Listagem 2 apresenta um exemplo de mapeamento um para muitos utilizando a = property private Set<Object> lista; Passo 3: Acrescentando a dependência do Hibernate Envers, utilizando o Maven. Neste artigo, utilizaremos a ferramenta Apache Maven para gerenciar o controle de dependências de bibliotecas do Hibernate Envers nos projetos. Para acrescentá-lo no projeto é necessário configurar o arquivo pom.xml de acordo com a versão do hibernate-core e hibernate-entitymanager. Para versões anteriores ao Hibernate 3.4 deve-se utilizar o JBoss Envers. Listagem 3. Adicionando a dependência do JBoss Envers para Hibernate 3.3. <dependency> <groupid>org.jboss.envers</groupid> <artifactid>jboss-envers</artifactid> <version>1.2.2.ga-hibernate-3.3</version> </dependency> Para a versão do Hibernate 3.6 e 4.1 deve-se utilizar o módulo hibernate-envers. Listagem 4. Adicionando a dependência do Hibernate Envers para Hibernate \

4 <dependency> <groupid>org.hibernate</groupid> <artifactid>hibernate-envers</artifactid> <version> final</version> </dependency> Listagem 5. Adicionando a dependência do Hibernate Envers para Hibernate 4.1. <dependency> <groupid>org.hibernate</groupid> <artifactid>hibernate-envers</artifactid> <version>4.1.0-final</version> </dependency> Passo 4: Adicionando os listerners do Envers O Hibernate Envers utiliza classes de listener que são responsáveis pelas ações de auditoria, ou seja, têm a função de incluir registros nas tabelas de histórico de acordo com a ação realizada pelo usuário na aplicação. Essas classes de listener devem constar no arquivo persistence.xml, caso contrário de nada adiantará as annotations presentes nas Entidades responsáveis pela auditoria. Segue abaixo como deve ficar a configuração no arquivo persistence.xml: Listagem 6. Adicionando os listerners no persistence. xml. <properties> <property name= hibernate.ejb.event.post-insert value= org.hibernate.ejb.event. EJB3PostInsertEventListener, org.hibernate.envers.event.auditeventlistener /> <property name= hibernate.ejb.event.post-update value= org.hibernate.ejb.event. EJB3PostUpdateEventListener, org.hibernate.envers.event.auditeventlistener /> <property name= hibernate.ejb.event.post-delete value= org.hibernate.ejb.event. EJB3PostDeleteEventListener, org.hibernate.envers.event.auditeventlistener /> <property name= hibernate.ejb.event.precollection-update value= org.hibernate.envers. event.auditeventlistener /> <property name= hibernate.ejb.event.precollection-remove value= org.hibernate.envers. event.auditeventlistener /> <property name= hibernate.ejb.event.postcollection-recreate value= org.hibernate. envers.event.auditeventlistener /> </properties> Passo 5: Como Auditar Entidades Para auditar as entidades é necessário identificá- -las com a da mesma maneira como identificamos as entidades persistentes Entity. O Hibernate Core o Envers possibilita a customização da nomenclatura da tabela tanto pela quanto Quando não se utiliza essa anotação o Envers entende que a nomenclatura da tabela de histórico será o nome da classe acrescentado pelo sufixo _AUD. Para exemplificar a temos uma entidade mapeada com a = tabela, schema= dbschema ) e o Envers entenderá que a nomenclatura da tabela de auditoria será a tabela_aud para o esquema de banco de dados dbschema. No caso de se adicionar a entidade à hist_tabela, schema= dbhist ) o Envers entenderá que a tabela de auditoria será a hist_tabela para o esquema dbhist. Assim podemos customizar a nomenclatura das tabelas de registros de dados históricos. Listagem 7. A Listagem 7 apresenta um exemplo de mapeamento utilizando JPA e = USUARIO, schema = = HIST_USUARIO, schema = DBSISTEMA ) public class Usuario { = CODIGO ) private Integer = NOME ) private String nome; = EMPRESA_CODIGO, referencedcolumnname = CODIGO ) private = USUARIO_CODIGO, referencedcolumnname = CODIGO ) private List<Documento> documentos; //get s e set s omitidos A partir do momento que existe a automaticamente todos os atributos e relacionamentos serão auditados sem necessitar de alguma configuração para que isso aconteça. / 8

5 Caso seja necessário, é possível limitar o que deve ser auditado. Por exemplo, pode-se definir que apenas algumas informações de uma determinada tabela sejam necessárias para a auditoria ou para evitar que alguma coluna contendo um valor extenso seja armazenado também na tabela de auditoria, como um Blob. Para não auditar atributos ou relacionamentos utilize as Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDiTED). A primeira anotação ignora totalmente o atributo ou relacionamento, sendo ideal para relacionamentos que são somente leitura (configurados como insertable = false e updatable = false). A segunda servirá para relacionamentos com tabelas de domínio (code tables) com ManyToOne, por exemplo. Os valores dessas tabelas não sofrerão alterações por isso não seria interessante manter uma ou mais tabelas de histórico para ela. Passo 6: Entidade de Revisão O Hibernate Envers controla as versões por meio de uma Entidade de Revisão que contém a A tabela que essa entidade representa conterá o código de revisão, o tipo de revisão e a data em que foi feita a ação. É possível colocar quantos atributos forem necessários nessa tabela, como, por exemplo, o código do usuário, o endereço ip do usuário, entre outras informações. Essas informações serão preenchidas pela classe de Listener de Revisão definida na RevisionEntity. O próprio Envers é responsável por informar o valor do tipo de revisão analisando o método utilizado (insert, update e delete). Os valores possíveis para o tipo de revisão são: 1 (um) para inclusões, 2 (dois) para alterações e 3 (três) para deleções. Os atributos da Entidade de Revisão que representam o código da revisão e a data da ação devem conter as Timestamp. O Envers considerará que foram criadas as colunas REV e REV_TYPE, que representam o código de revisão e o tipo de revisão, respectivamente. Caso seja necessário alterar o nome dessas colunas por uma questão de padronização de banco de dados, por exemplo, basta acrescentar configurações no persistence.xml, abaixo: Listagem 8. Configurações no persistence.xml.. <properties> <property name= org.hibernate.envers.revision_ field_name value= CODIGO_REVISAO /> <property name= org.hibernate.envers.revision_ type_field_name value= CODIGO_TIPO_REVISAO /> </properties> Listagem 9. A Listagem 9 apresenta uma entidade de revisão mapeada com JPA e @Table(name = REVISAO, schema = DBSISTEMA = SEQ_REVISAO, sequencename = DBSISTEMA.SEQ_REVISAO, allocationsize = 1, initialvalue = 1) public class = SEQ_REVISAO, strategy = = CODIGO_REVISAO, length = 8, nullable = private @Column(name = DT_REVISAO ) private Date = CODIGO_USUARIO ) private Long = _USUARIO ) private String = NOME_USUARIO ) private String nomeusuario; //... Passo 7: Listener de Revisão As classes de listeners de revisão, que possuem a responsabilidade de preenchimento da entidade de revisão com os dados pertinentes à auditoria, são invocadas após as ações definidas nas propriedades do arquivo persistence.xml (conforme Listagem 6). O requisito para criação de classes de listerner de revisão é a implementação da interface org.hibernate.envers.revisionlistener desenvolvendo o método void newrevision(object revisionentity), responsável pela criação de uma nova revisão para os dados auditados. Listagem 10. A Listagem 10 apresenta um exemplo de listener para recuperar os dados de um usuário, utiliza-se o SpringFramework. public class RevisaoListener implements org.hibernate. envers.revisionlistener 9 \

6 public void newrevision(object objetorevisao) { Revisao revisao = (Revisao) objetorevisao; Authentication authentication = SecurityContextHolder.getContext(). getauthentication(); Usuario usuario = (Usuario) authentication. getprincipal(); revisao.setcodigousuario(usuario.getid()); revisao.setnomeusuario(usuario.getnome()); revisao.set usuario(usuario.get ()); revisao.settimestamp(new Date()); muitos para um (ManyToOne), este não será carregado de forma automática (mesmo utilizando o tipo de inicialização EAGER). Este relacionamento precisa ser inicializado manualmente utilizando-se o método initialize da classe org.hibernate.hibernate. infelizmente, mesmo que seja feita uma inicialização explícita, o Envers não carregará os relacionamentos um para muitos (OneToMany) e muitos para muitos (ManyToMany). Uma solução seria carregar separadamente a lista de Entidades que representam um determinado relacionamento através de consultas com a APi do Envers utilizando o código de revisão desejado e a classe específica. Listagem 11. Método initialize. Passo 8: Criando Tabelas de Auditoria e Revisão As tabelas de histórico devem ser consideradas espelhos das tabelas auditadas, mantendo a mesma nomenclatura da tabela de origem. Acrescentando dois atributos: o código da revisão (chave primária gerada através da tabela de revisão) e o tipo de revisão que definirá a ação executada como inclusão, alteração ou exclusão de dados. Passo 9: Relacionamentos Quando for necessário recuperar os dados de auditoria e a entidade contiver o relacionamento de public static void initialize(object proxy) throws HibernateException { if ( proxy == null ) { return; else if ( proxy instanceof HibernateProxy ) { ( ( HibernateProxy ) proxy ). gethibernatelazyinitializer().initialize(); else if ( proxy instanceof PersistentCollection ) { ( ( PersistentCollection ) proxy ).forceinitialization(); //Usando o método Hibernate.initialize(entidade.getRelacionamento()); Figura 2. Modelo de Dados, Tabelas de Histórico. / 10

7 Passo 10: Consultando Revisões Ao contrário do que normalmente é feito, não é possível consultar dados históricos utilizando os mecanismos de busca fornecidos pelo Hibernate, ou seja, não será possível a utilização de HQL e Criteria para recuperar Entidades que representam as tabelas de histórico. Não existe Entidade mapeada para as tabelas de auditoria, apenas para as originais, somente sendo possível recuperar a versão desejada no formato da Entidade com as consultas disponibilizadas pela API do Envers ou através de SQL Nativo. Para realizar consultas sem a utilização de SQL nativo, o Envers fornece a interface AuditReader que contém métodos que realizam consultas utilizando as entidades já mapeadas. O Envers cria a Entidade em tempo de execução que representa a tabela de histórico contendo as mesmas propriedades e relacionamentos da Entidade de origem. A classe AuditReaderFactory é responsável por recuperar uma instância que implementa AuditReader. O método get se encarrega dessa função exigindo como parâmetro o EntityManager: Listagem 12. AuditReader. private AuditReader getauditreader() { AuditReader reader = AuditReaderFactory. get(entitymanager); return reader; Listagem 13. Exemplo como recuperar uma Entidade através de sua chave e a revisão específica desejada. public T findbyidandrevision(object id, Number revision) { reader = getauditreader(); T obj = reader.find(getpersistentclass(), id, revision); return obj; public List<T> findbyrevision(class classe, Number numerorevisao) { reader = getauditreader(); AuditQueryCreator query = reader.createquery(); PropertyNameGetter p = new RevisionNumberPropertyName(); AuditCriterion c = new SimpleAuditExpression(p, numerorevisao, = ); List<T> revisoes = (List<T>) query. forentitiesatrevision(classe, numerorevisao). add(c).getresultlist(); return revisoes; Considerações Finais Neste artigo, foram abordados conceitos e demonstrações da utilização do Hibernate Envers. Um poderosíssimo framework para a criação de trilhas de auditoria, sem que haja a necessidade de desenvolver uma estrutura específica para as auditorias no SGBD (Stored Procedures ou triggers). No desenvolvimento de novos projetos que requerem trilhas de auditoria já podemos incorporar o Hibernate Envers para o desenvolvimento deste requisito, minimizando os impactos por ser um framework transparente, baseado em revisões e principal por não ser intrusivo. Seja produtivo com o mínimo de impacto possível no desenvolvimento de auditoria no seu projeto, divirta-se e adapte seu projeto para realizar trilhas de auditorias de forma simples e prática utilizando-se o Hibernate Envers. /referências Lembre-se de inicializar os relacionamentos (muitos-para-um) para que seja possível recuperar os valores dos mesmos. Além de fornecer uma série de consultas úteis através da interface AuditReader, o Envers fornece uma série de interfaces que viabilizam o uso de Criteria para consultas personalizadas em dados históricos. > > > > Listagem 14. Consulta personalizada que recupera uma lista de uma determinada Entidade através de um código de revisão específico. 11 \

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

Hibernate Envers Easy Entity Auditing

Hibernate Envers Easy Entity Auditing Hibernate Envers Easy Entity Auditing Auditando suas classes de persistência com Hibernate Envers Castro (@CastroAlexandre) Consultor (Summa) e Instrutor (Globalcode) SCJP, SCWCD, SCBCD, SCEA-I, SCSNI

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

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

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

Auditando persistência com JPA

Auditando persistência com JPA a r t i g o Em ambientes corporativos, a auditoria sobre as operações de banco de dados é importantíssima, quando não, indispensável. Essa importância surge a partir de um conjunto de necessidades, como:

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

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

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

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

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

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

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

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

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

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

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

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

ARQUITETURA SISGRAD. Manual de Utilização. Versão: 2.0. Criação: 05 de julho de 2007 Autor: André Penteado

ARQUITETURA SISGRAD. Manual de Utilização. Versão: 2.0. Criação: 05 de julho de 2007 Autor: André Penteado ARQUITETURA SISGRAD Manual de Utilização Versão: 2.0 Criação: 05 de julho de 2007 Autor: André Penteado Última Revisão: 09 de outubro de 2009 Autor: Alessandro Moraes Controle Acadêmico - Arquitetura SISGRAD

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

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

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

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

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

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

Curso de Java. Acesso a banco de dados através do Hibernate. Todos os direitos reservados Klais Curso de Java Acesso a banco de dados através do Hibernate Todos os direitos reservados Klais Motivação Java é uma linguagem orientada a objetos: Numa aplicação, o uso de objetos é um recurso importante

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

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil aapfjr@gmail.com

Leia mais

Guia do Demoiselle Audit Demoiselle Audit Paulo Gladson Ximenes Pinheiro Clóvis Lemes Ferreira Júnior

Guia do Demoiselle Audit Demoiselle Audit Paulo Gladson Ximenes Pinheiro Clóvis Lemes Ferreira Júnior Guia do Demoiselle Audit Demoiselle Audit Paulo Gladson Ximenes Pinheiro Clóvis Lemes Ferreira Júnior Demoiselle Audit... v 1. Auditor... 1 1.1. Auditor de Persistência... 1 1.2. Auditor de Visão... 1

Leia mais

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web

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

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

RELACIONAMENTOS ENTRE OS OBJETOS NO FRAMEWORK HIBERNATE Elio Lovisi Filho 1 Ronney Moreira de Castro 2 RESUMO Revista Eletrônica da Faculdade Metodista Granbery http://re.granbery.edu.br - ISSN 1981 0377 Curso de Sistemas de Informação - N. 10, JAN/JUN 2011 RELACIONAMENTOS ENTRE OS OBJETOS NO FRAMEWORK HIBERNATE

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

Sistema Gerenciador de Hotel. Adriano Douglas Girardello. Ana Paula Fredrich. Tiago Alexandre Schulz Sippert

Sistema Gerenciador de Hotel. Adriano Douglas Girardello. Ana Paula Fredrich. Tiago Alexandre Schulz Sippert UNIOESTE Universidade Estadual do Oeste do Paraná CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Colegiado de Informática Curso de Bacharelado em Informática Sistema Gerenciador de Hotel Adriano Douglas Girardello

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

Faculdade Lourenço Filho - ENADE 2011-1

Faculdade Lourenço Filho - ENADE 2011-1 1. Quando se constrói um banco de dados, define-se o modelo de entidade e relacionamento (MER), que é a representação abstrata das estruturas de dados do banco e seus relacionamentos. Cada entidade pode

Leia mais

Guia de Fatores de Qualidade de OO e Java

Guia de Fatores de Qualidade de OO e Java Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.

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

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

Criar uma aplicação JPA2 com EclipseLink e H2

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

Leia mais

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

Aplicabilidade: visão geral

Aplicabilidade: visão geral CURSO BÁSICO SAXES 2 Aplicabilidade: visão geral BI Comércio Indústria nf-e Serviços Software house Enterprise Business Bus Banco financeiro Instituição Sindicato ERP html Casos 3 6 Customização: importação

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

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

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

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS Edi Carlos Siniciato ¹, William Magalhães¹ ¹ Universidade Paranaense (Unipar) Paranavaí PR Brasil edysiniciato@gmail.com,

Leia mais

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

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix

Leia mais

WebWork 2. João Carlos Pinheiro. jcpinheiro@cefet-ma.br

WebWork 2. João Carlos Pinheiro. jcpinheiro@cefet-ma.br WebWork 2 João Carlos Pinheiro jcpinheiro@cefet-ma.br Versão: 0.5 Última Atualização: Agosto/2005 1 Agenda Introdução WebWork 2 & XWork Actions Views Interceptadores Validação Inversão de Controle (IoC)

Leia mais

Introdução à JPA-Java Persistence API

Introdução à JPA-Java Persistence API Introdução à JPA-Java Persistence API Prof. Pasteur Ottoni de Miranda Jr. DCC PUC Minas www.pasteurjr.blogspot.com 1-Entidades São objetos de domínio de problema persistentes. Representam uma tabela em

Leia mais

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013 QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013 Prezados Senhores da comissão de licitação da UENF, seguem alguns questionamentos acerca do edital de concorrência 01/2013 para esclarecimentos: 1. ANEXO

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

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase. ? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.? Desde de 1994, a Microsoft lança versões do SQL SERVER

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

Introdução à Banco de Dados. Definição

Introdução à Banco de Dados. Definição Universidade Federal da Bahia Departamento de Ciência da Computação (DCC) Disciplina: Banco de Dados Profª. Daniela Barreiro Claro Introdução à Banco de Dados Definição Um banco de dados é uma coleção

Leia mais

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância 5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância O capítulo anterior apresentou uma discussão sobre a inclusão dos chamados learning services no processo

Leia mais

Como já foi muito bem detalhado no Capítulo IV, o jcompany Developer Suite pode ser

Como já foi muito bem detalhado no Capítulo IV, o jcompany Developer Suite pode ser A1Criando um módulo de negócio Capítulo 27 Aplicação dividida em módulos - Introdução Como já foi muito bem detalhado no Capítulo IV, o jcompany Developer Suite pode ser compreendido como uma solução de

Leia mais

Classes de Entidades Persistentes JDB

Classes de Entidades Persistentes JDB Classes de Entidades Persistentes JDB Brasil, Natal-RN, 07 de setembro de 2011 Welbson Siqueira Costa www.jdbframework.com Nota de Retificação: em 11/12/2011 a Listagem 3 desse tutorial sofreu uma pequena

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

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela Certamente você já ouviu falar muito sobre triggers. Mas o quê são triggers? Quando e como utilizá-las?

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

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

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

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível

Leia mais

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do

Leia mais

Módulo 5 JPATransaction Camadas Turma Turma TurmaBC .business @BusinessController TurmaBC TurmaBC TurmaBC

Módulo 5 JPATransaction Camadas Turma Turma TurmaBC .business @BusinessController TurmaBC TurmaBC TurmaBC Módulo 5 No módulo anterior adaptamos nosso projeto para persistir as informações no banco de dados utilizando as facilidades da extensão demoiselle-jpa. Experimentamos o controle transacional do Framework

Leia mais

Documento de Arquitetura

Documento de Arquitetura Documento de Arquitetura A2MEPonto - SISTEMA DE PONTO ELETRÔNICO A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 1 de 11 HISTÓRICO DE REVISÕES Data Versão Descrição Autor 28/10/2010 1 Elaboração do documento

Leia mais

e-stf WebServices Processo Eletrônico Smart Client Documentação

e-stf WebServices Processo Eletrônico Smart Client Documentação SUPREMO TRIBUNAL FEDERAL Secretaria de Tecnologia da Informação e-stf WebServices Processo Eletrônico Smart Client 1 Histórico da Revisão Data Versão Descrição Autor 20/06/2008 1.0 Criação do documento

Leia mais

Especificação do 3º Trabalho

Especificação do 3º Trabalho Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,

Leia mais

Programação Java. em Ambiente Distribuído. Ênfase no Mapeamento Objeto-Relacional com JPA, EJB e Hibernate. Douglas Rocha Mendes.

Programação Java. em Ambiente Distribuído. Ênfase no Mapeamento Objeto-Relacional com JPA, EJB e Hibernate. Douglas Rocha Mendes. Programação Java em Ambiente Distribuído Ênfase no Mapeamento Objeto-Relacional com JPA, EJB e Hibernate Douglas Rocha Mendes Novatec Copyright 2011 da Novatec Editora Ltda. Todos os direitos reservados

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

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

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária Cascavel Novembro de 2009 Pedro Patitucci Finamore Daniel Bordignon Cassanelli Marco Antonio da Rosa DIAGRAMAS DE CLASSE E SEQUÊNCIA

Leia mais

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES w w w. i d e a l o g i c. c o m. b r INDICE 1.APRESENTAÇÃO 2.ESPECIFICAÇÃO DOS RECURSOS DO SOFTWARE SAXES 2.1. Funcionalidades comuns a outras ferramentas similares 2.2. Funcionalidades próprias do software

Leia mais

1. Domínio dos Atributos

1. Domínio dos Atributos Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Domínio dos Atributos Por domínio, ou tipo, pode-se entender como a maneira como determinado atributo (ou campo, se tratando

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

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

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

INTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs?

INTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs? 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 Um Banco

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

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

INTRODUÇÃO BANCO DE DADOS. Prof. Msc. Hélio Esperidião INTRODUÇÃO BANCO DE DADOS Prof. Msc. Hélio Esperidião BANCO DE DADOS Podemos entender por banco de dados qualquer sistema que reúna e mantenha organizada uma série de informações relacionadas a um determinado

Leia mais

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Perola André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Prevayler é a implementação em Java do conceito de Prevalência. É um framework que prega uma JVM invulnerável

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

Parte I. Demoiselle Mail

Parte I. Demoiselle Mail Parte I. Demoiselle Mail Para o envio e recebimento de e-s em aplicativos Java, a solução mais natural é usar a API JavaMail [http:// www.oracle.com/technetwork/java/java/index.html]. Ela provê um framework

Leia mais

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados -

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados - Banco de Dados Aula 02 Modelagem de Dados Roteiro Definição Evolução Projeto de BD Abstração Esquema e Instância Definição É uma representação, normalmente gráfica, de estruturas de dados reais. Auxilia

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

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Structured Query Language (SQL) Ambiente Simplificado de um SGBD Structured Query Language (SQL) Ambiente Simplificado de um SGBD 2 1 Características dos SGBDs Natureza auto-contida de um sistema de banco de dados: metadados armazenados num catálogo ou dicionário de

Leia mais

Modelagem de Banco de Dados através do ERwin

Modelagem de Banco de Dados através do ERwin Modelagem de Banco de Dados através do ERwin Introdução O Erwin é uma ferramenta CASE para a modelagem de banco de dados através do modelo ER (Entidade-Relacionamento). Possibilita uma maior concentração

Leia mais

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix Ingress SQL

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

Desenvolvimento Web com Framework Demoiselle versão 1.0

Desenvolvimento Web com Framework Demoiselle versão 1.0 Desenvolvimento Web com Framework Demoiselle versão 1.0 Módulo 07: Outros Componentes Autor: Rodrigo Hjort Serpro / Coordenação Estratégica de Tecnologia / Curitiba www.frameworkdemoiselle.org.br Modificado

Leia mais

O que são Bancos de Dados?

O que são Bancos de Dados? SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados

Leia mais

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando

Leia mais

e-stf WebServices Processo Eletrônico Smart Client Manual de Instalação

e-stf WebServices Processo Eletrônico Smart Client Manual de Instalação SUPREMO TRIBUNAL FEDERAL Secretaria de Tecnologia da Informação e-stf WebServices Processo Eletrônico Smart Client 1 Histórico da Revisão Data Versão Descrição Autor 30/07/2008 1.0 Criação do documento

Leia mais

ADMINISTRAÇÃO DE BANCO DE DADOS

ADMINISTRAÇÃO DE BANCO DE DADOS ADMINISTRAÇÃO DE BANCO DE DADOS ARTEFATO 02 AT02 Diversos I 1 Indice ESQUEMAS NO BANCO DE DADOS... 3 CRIANDO SCHEMA... 3 CRIANDO TABELA EM DETERMINADO ESQUEMA... 4 NOÇÕES BÁSICAS SOBRE CRIAÇÃO E MODIFICAÇÃO

Leia mais

Banco de Dados. Arquitetura e Terminologia. Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.

Banco de Dados. Arquitetura e Terminologia. Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo. Banco de Dados Arquitetura e Terminologia Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.com 2015 Modelo de Dados e Esquemas O modelo de Banco de Dados é como um detalhamento

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Banco de Dados I Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Dados

Leia mais

Banco de Dados. Conceitos e Arquitetura de Sistemas de Banco de Dados. Profa. Flávia Cristina Bernardini

Banco de Dados. Conceitos e Arquitetura de Sistemas de Banco de Dados. Profa. Flávia Cristina Bernardini Banco de Dados Conceitos e Arquitetura de Sistemas de Banco de Dados Profa. Flávia Cristina Bernardini Relembrando... Vantagens da Utilização de SGBD Redundância controlada Consistência dos dados armazenados

Leia mais

Programação Orientada a Objetos JDBC Java Database Connectivity

Programação Orientada a Objetos JDBC Java Database Connectivity Especialização em Engenharia de Software Programação Orientada a Objetos JDBC Java Database Connectivity Sérgio Soares scbs@cin.ufpe.br Objetivos Apresentar os conceitos básicos da especificação de Java

Leia mais