SlideShare uma empresa Scribd logo
HIBERNATE COM ANOTAÇÕES Equipe: Antonio Geroncio dos Santos Diego Araujo Ferreira de Melo Jameson Brito Carlindo Curso: Análise e Desenvolvimento de Sistemas Matéria: Programação Web II Professor: Roberth Pinheiro Faculdade de Tecnologia de Alagoas
SUMÁRIO Introdução ao Hibernate Slide 03 Arquitetura Hibernate Slide 04,05,06 Como utilizar o Hibernate com anotações Slide 07 Configurando o Hibernate-config.xml Slide 08 Especificando o Hibernate-config.xml Slide 09 Dialetos do Hibernate Slide 10 Classe Hibernate-Util Slide 11 Objeto Aluno Slide 12 Classe Aluno-DAO Slide 13 Resultados Slide 14,15,16,17 Conclusão Slide 18
INTRODUÇÃO AO HIBERNATE O Hibernate é um framework de mapeamento objeto relacional para aplicações Java, ou seja, é uma ferramenta para mapear classes Java em tabelas do banco de dados e vice-versa. É bastante poderoso e dá suporte ao mapeamento de associações entre objetos, herança, polimorfismo, composição e coleções. O Hibernate não apresenta apenas a função de realizar o mapeamento objeto relacional. Também disponibiliza um poderoso mecanismo de consulta de dados, permitindo uma redução considerável no tempo de desenvolvimento da aplicação. Inicialmente, o mapeamento objeto relacional com Hibernate era feito a partir de um conjunto de configurações em arquivos XMLS. Com o surgimento das anotações no Java SE 5.0, o framework Hibernate anexou este recurso, permitindo que as classes Java fossem mapeadas a partir de anotações, simplificando o seu uso.
ARQUITETURA HIBERNATE As principais são:  Session SessionFactory Configuration Transaction Query Os sub-tópicos seguintes apresentam uma descrição mais detalhada sobre elas.
ARQUITETURA HIBERNATE Session (org.hibernate.Session) O objeto Session é aquele que possibilita a comunicação entre a aplicação e a persistência, através de uma conexão JDBC. É um objeto leve de ser criado, não deve ter tempo de vida por toda a aplicação e não é threadsafe. Um objeto Session possui um cache local de objetos recuperados na sessão. Com ele é possível criar,  remover, atualizar e recuperar objetos persistentes. SessionFactory (org.hibernate.SessionFactory) O objeto SessionFactory é aquele que mantém o mapeamento objeto relacional em memória. Permite a criação de objetos Session, a partir dos quais os dados são acessados, também denominado como fábrica de objetos Sessions. Um objeto SessionFactory é threadsafe, porém deve existir apenas uma instância dele na aplicação, pois é um objeto muito pesado para ser criado várias vezes.
Configuration (org.hibernate.Configuration) Um objeto Configuration é utilizado para realizar as configurações de inicialização do Hibernate. Com ele, define-se diversas configurações do Hibernate, como por exemplo: o driver do banco de dados a ser utilizado, o dialeto, o usuário e senha do banco, entre outras. É a partir de uma instância desse objeto que se indica como os mapeamentos entre classes e tabelas de banco de dados devem ser feitos. Transaction (org.hibernate.Transaction) A interface Transaction é utilizada para representar uma unidade indivisível de uma operação de manipulação de dados. O uso dessa interface em aplicações que usam Hibernate é opcional. Essa interface abstrai a aplicação dos detalhes das transações JDBC, JTA ou CORBA. Interfaces Criteria e Query As interfaces Criteria e Query são utilizadas para realizar consultas ao banco de dados. ARQUITETURA HIBERNATE
COMO UTILIZAR O HIBERNATE COM ANOTAÇÕES Para utilizar o  Hibernate Annotation , primeiramente, é preciso copiar sua versão atual do site  http://hibernate.org , disponível em um arquivo compactado. Então, este arquivo deve ser descompactado e seu conteúdo consiste em um conjunto de arquivos JARS. Esses arquivos devem ser copiados para o diretório das  libs  de sua aplicação. Os arquivos hibernate-annotations.jar e lib/ejb3-persistence.jar também devem referenciados no classpath da aplicação, juntamente com a classe do driver do banco de dados utilizado.
CONFIGURANDO O HIBERNATE-CONFIG.XML
EXPECIFICANDO O HIBERNATE.CFG.XML hibernate.dialect implementação do dialeto SQL específico do banco de dados a ser utilizado. Usado para identificar as particularidades do banco de dados; hibernate.connection.driver_class nome da classe do driver JDBC do banco de dados que está sendo utilizado; hibernate.connection.url é a URL de conexão específica do banco que está sendo utilizado; hibernate.connection.username é o nome de usuário com o qual o Hibernate deve se conectar ao banco; hibernate.connection.password é a senha do usuário com o qual o Hibernate deve se conectar ao banco;  hibernate.show_sql utilizado para definir se os SQL’S gerados pelo Hibernate devem ou não ser exibidos ( true | false ). Já no final do arquivo hibernate.cfg.xml é onde devem ser informados os arquivos das classes mapeadas que o Hibernate deve processar. Se alguma classe não for definida neste local, a mesma não poderá ser persistida utilizando os mecanismos do Hibernate.
DIALETOS DO HIBERNATE DB2  – org.hibernate.dialect.DB2Dialect HypersonicSQL  – org.hibernate.dialect.HSQLDialect Informix  – org.hibernate.dialect.InformixDialect Ingres  – org.hibernate.dialect.IngresDialect Interbase  – org.hibernate.dialect.InterbaseDialect Pointbase  – org.hibernate.dialect.PointbaseDialect PostgreSQL  – org.hibernate.dialect.PostgreSQLDialect Mckoi   SQL  – org.hibernate.dialect.MckoiDialect Microsoft SQL Server  – org.hibernate.dialect.SQLServerDialect MySQL  – org.hibernate.dialect.MySQLDialect Oracle   (any version)  – org.hibernate.dialect.OracleDialect Oracle 9  – org.hibernate.dialect.Oracle9Dialect Progress  – org.hibernate.dialect.ProgressDialect FrontBase  – org.hibernate.dialect.FrontbaseDialect SAP   DB  – org.hibernate.dialect.SAPDBDialect Sybase  – org.hibernate.dialect.SybaseDialect Sybase   Anywhere  – org.hibernate.dialect.SybaseAnywhereDialect
CLASSE HIBERNATE-UTIL
OBJETO ALUNO
CLASSE ALUNO-DAO
RESULTADOS
RESULTADOS
RESULTADOS
RESULTADOS
ANOTAÇÕES Para o mapeamento com anotações das entidades, serão utilizadas tanto anotações do pacote javax.persistence.*, como do pacote org.hibernate.annotations. Todas as classes persistentes mapeadas com anotações são declaradas usando a anotação @Entity, aplicada em nível de classes. Quando o nome da classe é diferente do nome da tabela para a qual é mapeada é necessário informar na anotação @Table qual o nome da tabela, usando o atributo name.
EXEMPLOS DE ANOTAÇÕES Nos demais atributos da classe pode não ter nenhuma anotação de mapeamento. Isso pode ser feito quando o nome do atributo é igual ao nome da coluna da tabela mapeada, de forma que não há a necessidade de mapeamento explícito! @Table(name="aluno",schema="anotacoes") está informando o nome e o esquema da tabela para qual está mapeada a classe aluno. @Id A chave primária da tabela é mapeada na classe. @GeneratedValue permite a definição automática para o valor do identificador, utilizando um dos mecanismos de geração apresentados anteriormente. @Column(name=“cod_aluno”) informando o nome da coluna, através do atributo name.
CONCLUSÃO Estamos deixando a disposição o projeto elaborado em nossa apresentação, onde no projeto encontra-se todas as lib’s necessárias para desenvolver usando Hibernate com anotações, colocamos também o backup do banco de dados está incluso na pasta também, o driver de conexão com o banco de dados postgres, e o projeto salvando e listando os objetos do banco de dados, espero que tenham gostado. E também segue uma apostila da caelum para maiores informações, fizemos nossa apresentação em cima da apostila, onde pegamos os pontos principais e fizemos resumos teóricos e aplicamos a prática bem elaborada. Clique na imagem para abrir a repositório com todos os arquivos da apresentação Atenciosamente, Antonio Geroncio dos Santos Diego Araujo Ferreira de Melo Jameson Brito Carlindo Slides encontra-se publicado no  http://www.slideshare.net/dieguinhomcz

Mais conteúdo relacionado

PDF
Hibernate conceitos
PDF
Apostila hibernate
PDF
Persistência com JPA usando o NetBeans 7
PDF
JPA com Hibernate
PDF
Persistência Java: Hibernate e JPA
PPT
Introdução a JPA e Hibernate - TDC 2012
PPT
JPA - Java Persistence API
PPT
Jpa – Java Persistence Api
Hibernate conceitos
Apostila hibernate
Persistência com JPA usando o NetBeans 7
JPA com Hibernate
Persistência Java: Hibernate e JPA
Introdução a JPA e Hibernate - TDC 2012
JPA - Java Persistence API
Jpa – Java Persistence Api

Mais procurados (18)

PPTX
Hibernate
PPT
PPTX
Boas práticas com jpa 2 e hibernate flisol 2012
PPT
Hibernate - Aula 01
ODP
Hibernate-consultas
PPT
Bancos de Dados Orientados a Objeto
PDF
Introdução ao JPA com Hibernate
PPTX
Minicurso jpa e hibernate
PPT
Banco de Dados Orientado a Objeto
PDF
Apresentação palestra ireport
PDF
1 jdbc
PDF
Banco de dados oracle
PPT
Course Hibernate 2008
PDF
Artigo couchdb
PPTX
Sql - introdução
PPTX
Banco de dados orientados a objetos
PDF
Funcionalidades Oracle
Hibernate
Boas práticas com jpa 2 e hibernate flisol 2012
Hibernate - Aula 01
Hibernate-consultas
Bancos de Dados Orientados a Objeto
Introdução ao JPA com Hibernate
Minicurso jpa e hibernate
Banco de Dados Orientado a Objeto
Apresentação palestra ireport
1 jdbc
Banco de dados oracle
Course Hibernate 2008
Artigo couchdb
Sql - introdução
Banco de dados orientados a objetos
Funcionalidades Oracle
Anúncio

Semelhante a Mini curso hibernate com anotações (20)

PDF
hibernate annotation
PPT
Hibernate With Visual Editor And Hibernate Tools
PPTX
Hibernate
PDF
Introdução ao JPA com Hibernate
PDF
Aula hibernate
PPT
Java Seminar
PDF
Curso de Java Persistence API (JPA) (Java EE 7)
PPTX
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
PDF
Bancos de dados e jdbc java para desenvolvimento web
ODP
Processos iniciais do mapeamento OR
PPTX
TechDay - Sistemas WEB em Java - Rogério N. Jr.
PDF
Sistemas Distribuídos - Comunicação Distribuída - EJB
PDF
Orientação a Objetos no Delphi - Controle de Estoque (II)
PPTX
PDF
Tutorial JSF 2.0 (2012)
PPT
Banco aula 01
PDF
CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
PDF
Semana acadêmica UFRGS 2014
PPTX
PPT
Java Web Dev Introdução
hibernate annotation
Hibernate With Visual Editor And Hibernate Tools
Hibernate
Introdução ao JPA com Hibernate
Aula hibernate
Java Seminar
Curso de Java Persistence API (JPA) (Java EE 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Bancos de dados e jdbc java para desenvolvimento web
Processos iniciais do mapeamento OR
TechDay - Sistemas WEB em Java - Rogério N. Jr.
Sistemas Distribuídos - Comunicação Distribuída - EJB
Orientação a Objetos no Delphi - Controle de Estoque (II)
Tutorial JSF 2.0 (2012)
Banco aula 01
CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
Semana acadêmica UFRGS 2014
Java Web Dev Introdução
Anúncio

Mini curso hibernate com anotações

  • 1. HIBERNATE COM ANOTAÇÕES Equipe: Antonio Geroncio dos Santos Diego Araujo Ferreira de Melo Jameson Brito Carlindo Curso: Análise e Desenvolvimento de Sistemas Matéria: Programação Web II Professor: Roberth Pinheiro Faculdade de Tecnologia de Alagoas
  • 2. SUMÁRIO Introdução ao Hibernate Slide 03 Arquitetura Hibernate Slide 04,05,06 Como utilizar o Hibernate com anotações Slide 07 Configurando o Hibernate-config.xml Slide 08 Especificando o Hibernate-config.xml Slide 09 Dialetos do Hibernate Slide 10 Classe Hibernate-Util Slide 11 Objeto Aluno Slide 12 Classe Aluno-DAO Slide 13 Resultados Slide 14,15,16,17 Conclusão Slide 18
  • 3. INTRODUÇÃO AO HIBERNATE O Hibernate é um framework de mapeamento objeto relacional para aplicações Java, ou seja, é uma ferramenta para mapear classes Java em tabelas do banco de dados e vice-versa. É bastante poderoso e dá suporte ao mapeamento de associações entre objetos, herança, polimorfismo, composição e coleções. O Hibernate não apresenta apenas a função de realizar o mapeamento objeto relacional. Também disponibiliza um poderoso mecanismo de consulta de dados, permitindo uma redução considerável no tempo de desenvolvimento da aplicação. Inicialmente, o mapeamento objeto relacional com Hibernate era feito a partir de um conjunto de configurações em arquivos XMLS. Com o surgimento das anotações no Java SE 5.0, o framework Hibernate anexou este recurso, permitindo que as classes Java fossem mapeadas a partir de anotações, simplificando o seu uso.
  • 4. ARQUITETURA HIBERNATE As principais são: Session SessionFactory Configuration Transaction Query Os sub-tópicos seguintes apresentam uma descrição mais detalhada sobre elas.
  • 5. ARQUITETURA HIBERNATE Session (org.hibernate.Session) O objeto Session é aquele que possibilita a comunicação entre a aplicação e a persistência, através de uma conexão JDBC. É um objeto leve de ser criado, não deve ter tempo de vida por toda a aplicação e não é threadsafe. Um objeto Session possui um cache local de objetos recuperados na sessão. Com ele é possível criar, remover, atualizar e recuperar objetos persistentes. SessionFactory (org.hibernate.SessionFactory) O objeto SessionFactory é aquele que mantém o mapeamento objeto relacional em memória. Permite a criação de objetos Session, a partir dos quais os dados são acessados, também denominado como fábrica de objetos Sessions. Um objeto SessionFactory é threadsafe, porém deve existir apenas uma instância dele na aplicação, pois é um objeto muito pesado para ser criado várias vezes.
  • 6. Configuration (org.hibernate.Configuration) Um objeto Configuration é utilizado para realizar as configurações de inicialização do Hibernate. Com ele, define-se diversas configurações do Hibernate, como por exemplo: o driver do banco de dados a ser utilizado, o dialeto, o usuário e senha do banco, entre outras. É a partir de uma instância desse objeto que se indica como os mapeamentos entre classes e tabelas de banco de dados devem ser feitos. Transaction (org.hibernate.Transaction) A interface Transaction é utilizada para representar uma unidade indivisível de uma operação de manipulação de dados. O uso dessa interface em aplicações que usam Hibernate é opcional. Essa interface abstrai a aplicação dos detalhes das transações JDBC, JTA ou CORBA. Interfaces Criteria e Query As interfaces Criteria e Query são utilizadas para realizar consultas ao banco de dados. ARQUITETURA HIBERNATE
  • 7. COMO UTILIZAR O HIBERNATE COM ANOTAÇÕES Para utilizar o Hibernate Annotation , primeiramente, é preciso copiar sua versão atual do site http://hibernate.org , disponível em um arquivo compactado. Então, este arquivo deve ser descompactado e seu conteúdo consiste em um conjunto de arquivos JARS. Esses arquivos devem ser copiados para o diretório das libs de sua aplicação. Os arquivos hibernate-annotations.jar e lib/ejb3-persistence.jar também devem referenciados no classpath da aplicação, juntamente com a classe do driver do banco de dados utilizado.
  • 9. EXPECIFICANDO O HIBERNATE.CFG.XML hibernate.dialect implementação do dialeto SQL específico do banco de dados a ser utilizado. Usado para identificar as particularidades do banco de dados; hibernate.connection.driver_class nome da classe do driver JDBC do banco de dados que está sendo utilizado; hibernate.connection.url é a URL de conexão específica do banco que está sendo utilizado; hibernate.connection.username é o nome de usuário com o qual o Hibernate deve se conectar ao banco; hibernate.connection.password é a senha do usuário com o qual o Hibernate deve se conectar ao banco; hibernate.show_sql utilizado para definir se os SQL’S gerados pelo Hibernate devem ou não ser exibidos ( true | false ). Já no final do arquivo hibernate.cfg.xml é onde devem ser informados os arquivos das classes mapeadas que o Hibernate deve processar. Se alguma classe não for definida neste local, a mesma não poderá ser persistida utilizando os mecanismos do Hibernate.
  • 10. DIALETOS DO HIBERNATE DB2 – org.hibernate.dialect.DB2Dialect HypersonicSQL – org.hibernate.dialect.HSQLDialect Informix – org.hibernate.dialect.InformixDialect Ingres – org.hibernate.dialect.IngresDialect Interbase – org.hibernate.dialect.InterbaseDialect Pointbase – org.hibernate.dialect.PointbaseDialect PostgreSQL – org.hibernate.dialect.PostgreSQLDialect Mckoi SQL – org.hibernate.dialect.MckoiDialect Microsoft SQL Server – org.hibernate.dialect.SQLServerDialect MySQL – org.hibernate.dialect.MySQLDialect Oracle (any version) – org.hibernate.dialect.OracleDialect Oracle 9 – org.hibernate.dialect.Oracle9Dialect Progress – org.hibernate.dialect.ProgressDialect FrontBase – org.hibernate.dialect.FrontbaseDialect SAP DB – org.hibernate.dialect.SAPDBDialect Sybase – org.hibernate.dialect.SybaseDialect Sybase Anywhere – org.hibernate.dialect.SybaseAnywhereDialect
  • 18. ANOTAÇÕES Para o mapeamento com anotações das entidades, serão utilizadas tanto anotações do pacote javax.persistence.*, como do pacote org.hibernate.annotations. Todas as classes persistentes mapeadas com anotações são declaradas usando a anotação @Entity, aplicada em nível de classes. Quando o nome da classe é diferente do nome da tabela para a qual é mapeada é necessário informar na anotação @Table qual o nome da tabela, usando o atributo name.
  • 19. EXEMPLOS DE ANOTAÇÕES Nos demais atributos da classe pode não ter nenhuma anotação de mapeamento. Isso pode ser feito quando o nome do atributo é igual ao nome da coluna da tabela mapeada, de forma que não há a necessidade de mapeamento explícito! @Table(name="aluno",schema="anotacoes") está informando o nome e o esquema da tabela para qual está mapeada a classe aluno. @Id A chave primária da tabela é mapeada na classe. @GeneratedValue permite a definição automática para o valor do identificador, utilizando um dos mecanismos de geração apresentados anteriormente. @Column(name=“cod_aluno”) informando o nome da coluna, através do atributo name.
  • 20. CONCLUSÃO Estamos deixando a disposição o projeto elaborado em nossa apresentação, onde no projeto encontra-se todas as lib’s necessárias para desenvolver usando Hibernate com anotações, colocamos também o backup do banco de dados está incluso na pasta também, o driver de conexão com o banco de dados postgres, e o projeto salvando e listando os objetos do banco de dados, espero que tenham gostado. E também segue uma apostila da caelum para maiores informações, fizemos nossa apresentação em cima da apostila, onde pegamos os pontos principais e fizemos resumos teóricos e aplicamos a prática bem elaborada. Clique na imagem para abrir a repositório com todos os arquivos da apresentação Atenciosamente, Antonio Geroncio dos Santos Diego Araujo Ferreira de Melo Jameson Brito Carlindo Slides encontra-se publicado no http://www.slideshare.net/dieguinhomcz