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
Apostila hibernate
POT
Mini curso hibernate com anotações
PDF
Hibernate conceitos
PPT
PDF
Persistência com JPA usando o NetBeans 7
PDF
Introdução ao JPA com Hibernate
PDF
JPA com Hibernate
PPT
Hibernate - Aula 01
Apostila hibernate
Mini curso hibernate com anotações
Hibernate conceitos
Persistência com JPA usando o NetBeans 7
Introdução ao JPA com Hibernate
JPA com Hibernate
Hibernate - Aula 01

Mais procurados (20)

PDF
Funcionalidades Oracle
PPTX
Intro Arquitetura Oracle
PDF
Banco de dados oracle
PDF
Persistência Java: Hibernate e JPA
PPTX
Hibernate
PDF
Inúmeras Razões para Migrar de Oracle 10g para 11g
PPT
Introdução a JPA e Hibernate - TDC 2012
PDF
Apostila Oracle 10g
PDF
Apresentação palestra ireport
PDF
Artigo couchdb
PDF
Weka em aplicações java
ODP
Hibernate-consultas
PPT
JPA - Java Persistence API
PPT
Course Hibernate 2008
ODP
Weka – Ferramenta Livre para Mineração de Dados
PDF
1 jdbc
PPT
Weka apresentação em slides
PPT
CouchDB Presentation
Funcionalidades Oracle
Intro Arquitetura Oracle
Banco de dados oracle
Persistência Java: Hibernate e JPA
Hibernate
Inúmeras Razões para Migrar de Oracle 10g para 11g
Introdução a JPA e Hibernate - TDC 2012
Apostila Oracle 10g
Apresentação palestra ireport
Artigo couchdb
Weka em aplicações java
Hibernate-consultas
JPA - Java Persistence API
Course Hibernate 2008
Weka – Ferramenta Livre para Mineração de Dados
1 jdbc
Weka apresentação em slides
CouchDB Presentation
Anúncio

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

PDF
hibernate annotation
PDF
Hibernate reference pt-br
PDF
Hibernate Reference20061120
PDF
Aula hibernate
PPT
Hibernate
PPT
Hibernate With Visual Editor And Hibernate Tools
PDF
Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0
PDF
Programação Orientada a Objetos - Pós Graduação - Aula 2
PPT
Curso De Hibernate 3
ODP
Processos iniciais do mapeamento OR
PDF
Introdução ao JPA com Hibernate
PDF
Linguagem 3 (JPA e hibernate)
PPTX
Hibernate
ODP
Anotações do mapeamento OR
ODP
Mapeamento de herança OR
PDF
Hibernate anotacoes
PDF
Jj08 otimizacao
PDF
Hibernate
PPTX
ORM: Sendo produtivo com NHibernate
PDF
Usando hiberante de forma otimizada
hibernate annotation
Hibernate reference pt-br
Hibernate Reference20061120
Aula hibernate
Hibernate
Hibernate With Visual Editor And Hibernate Tools
Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0
Programação Orientada a Objetos - Pós Graduação - Aula 2
Curso De Hibernate 3
Processos iniciais do mapeamento OR
Introdução ao JPA com Hibernate
Linguagem 3 (JPA e hibernate)
Hibernate
Anotações do mapeamento OR
Mapeamento de herança OR
Hibernate anotacoes
Jj08 otimizacao
Hibernate
ORM: Sendo produtivo com NHibernate
Usando hiberante de forma otimizada
Anúncio

Último (20)

PDF
ESPELHOS DA ALMA A PSICOLOGIA POR TRÁS DOS CONTOS DE FADAS.pdf
PPTX
QuestõesENEMVESTIBULARPARAESTUDOSEAPRENDIZADO.pptx
PDF
Ementa 2 semestre PEI Orientação de estudo
PDF
A relação entre funções executivas e desempenho acadêmico em crianças com Tra...
PPT
sistema reprodutor para turmas do oitavo ano
PDF
aulademeiodetransporteemlibras-120304202807-phpapp01_removed.pdf
PDF
Metabolismo_energético_3ano_pre_vest_2026.pdf
PPTX
GUERRAFRIA.pptdddddddddddddddddddddddddx
PDF
O retorno a origem (islã Islamismo)
PPT
HISTOLOGIA VEGETAL - tecidos vegetais.ppt
PPTX
Trabalho Cidades sustentáveis ou Utopia.pptx
PPT
Imperio Bbrasileiro-1822-1889 - aspectos gerais
PDF
FLUXOGRAMA CLASSE lll - Acesso estritamente proximal.pdf
PPTX
A História da Europa na Baixa Idade Média.pptx
PDF
Organizador Curricular da Educação em Tempo Integral.pdf
PPTX
HISTÓRIA DO BRASIL - anos de Democracia.pptx
PPT
História e Evolução dos Computadores domésticos
PDF
Cantores.pdf-Deslandes, Tinoco e Zambujo
PDF
DAQUISIÇÃO E DESENVOLVIMENTO DA FALA 12 A 24 MESES
PPTX
brasilcolnia2-101027184359-phpapp02.pptx
ESPELHOS DA ALMA A PSICOLOGIA POR TRÁS DOS CONTOS DE FADAS.pdf
QuestõesENEMVESTIBULARPARAESTUDOSEAPRENDIZADO.pptx
Ementa 2 semestre PEI Orientação de estudo
A relação entre funções executivas e desempenho acadêmico em crianças com Tra...
sistema reprodutor para turmas do oitavo ano
aulademeiodetransporteemlibras-120304202807-phpapp01_removed.pdf
Metabolismo_energético_3ano_pre_vest_2026.pdf
GUERRAFRIA.pptdddddddddddddddddddddddddx
O retorno a origem (islã Islamismo)
HISTOLOGIA VEGETAL - tecidos vegetais.ppt
Trabalho Cidades sustentáveis ou Utopia.pptx
Imperio Bbrasileiro-1822-1889 - aspectos gerais
FLUXOGRAMA CLASSE lll - Acesso estritamente proximal.pdf
A História da Europa na Baixa Idade Média.pptx
Organizador Curricular da Educação em Tempo Integral.pdf
HISTÓRIA DO BRASIL - anos de Democracia.pptx
História e Evolução dos Computadores domésticos
Cantores.pdf-Deslandes, Tinoco e Zambujo
DAQUISIÇÃO E DESENVOLVIMENTO DA FALA 12 A 24 MESES
brasilcolnia2-101027184359-phpapp02.pptx

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