Introdu¸˜o ao Hibernate ca

Prof. Rafael Fernandes Lopes
Departamento Acadˆmico de Inform´tica e a Centro Federal de Educa¸ao Tecnol´gica do Maranh˜o - CEFET-MA c˜ o a

Prof. Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca

1 / 26

Introdu¸˜o ca
Hibernate ´ um mecanismo simples que permite persistir objetos Java e em bancos de dados; Fornece um arcabou¸o atrav´s do qual ´ poss´ efetuar c e e ıvel mapeamentos objeto/relacionais, transformando dados tabulares de um BD em um modelo de objetos Java definido pelo desenvolvedor da aplica¸˜o; ca Utiliza XML para definir seus mapeamentos; Linguagem de consulta OO (HQL – Hibernate Query Language); Sobrecarga m´ ınima em rela¸˜o ` JDBC: < 10% X benef´ ca a ıcios (separa¸˜o de camadas, baixo acoplamento, etc). ca
Prof. Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 2 / 26

O desenvolvedor ganha tempo. Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 3 / 26 . uma vez que n˜o h´ necessidade de a a reescrever c´digo DAO/JDBC. no entanto. o SQL n˜o precisa ser necessariamente utilizada (embora possa ser). a Mecanismo robusto de mapeamento objeto relacional. Etc..Por que utilizar o Hibernate? Com o Hibernate ´ poss´ ter persistˆncia de dados de suas e ıvel e aplica¸˜es sem. perder as vantagens da orienta¸˜o a co ca objetos. Prof. Caching e lazy loading melhoram o desempenho de consultas..

˜ Quando NAO usar: ◮ Sistemas em que a l´gica de neg´cio ´ muito concentrada no banco de o o e dados (stored procedures e triggers). Prof. Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 4 / 26 .Quando usar? Quando usar: ◮ Sistemas em que a l´gica de neg´cio ´ voltada para o modelo de o o e objetos.

Arquitetura Prof. Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 5 / 26 .

native. etc). uuid. ◮ Prof. shor ou int. Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 6 / 26 . many-to-many. Identificadores: ◮ ◮ ◮ vm: gera identificadores de tipo long. hilo: utiliza um algoritimo para gerar identificadores do tipo long. short.Caracter´ ısticas Relacionamentos (many-to-one. OracleDialect. SAP DB. int. ou int. etc.. PostgreSQLDialect.hex. short. podendo ser long. Oracle. one-to-one) Dialetos (MySQLDialect.. sequence: utiliza a sequencia das bases de dados DB2. PostgreSQL.

Oracle 8i. 1. Sybase 12. Microsoft SQL Server 2000.0.5.1 (Open Source) with Firebird.0.1.2.23. Outros.61. 7.Bancos de dados suportados DB2 7.1. MySQL M3. PostgreSQL 7.. 7. Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 7 / 26 . Interbase 6. 9i.2.. HypersonicSQL 1.7.3. Prof. 7.2.

Aplica¸˜o Hibernate ca Hibernate Properties File: ◮ Arquivo (XML ou properties) contendo as propriedades de conex˜o ao a banco. Biblioteca Hibernate Java. HQL (Hibernate Query Language). Esquema do banco de dados: ◮ tabela no banco de dados. Java Class Files: ◮ Objetos cujo estado vai ser persistido. Hibernate Mapping (XML) File: ◮ Arquivo XML que relaciona as propriedades do objeto aos campos da tabela. Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca . 8 / 26 Prof.

Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 9 / 26 .Primeiro exemplo Bibliotecas necess´rias: a Prof.

Primeiro exemplo Prof. Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 10 / 26 .

Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 11 / 26 .Primeiro exemplo Estrutura de diret´rio: o Prof.

Primeiro exemplo Corpo gen´rico do arquivo de mapeamento: e Prof. Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 12 / 26 .

Primeiro exemplo Arquivo de mapeamento: Prof. Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 13 / 26 .

Primeiro exemplo Arquivo de mapeamento: Prof. Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 14 / 26 .

Primeiro exemplo Arquivo de mapeamento: Prof. Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 15 / 26 .

Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 16 / 26 .Primeiro exemplo Estrutura de diret´rio: o Prof.

e e o ca Atrav´s do arquivo “hibernate. onde a localiza¸˜o e ca dos mapeamentos ´ informada atrav´s do c´digo da aplica¸˜o.cfg.hibernate.cfg.properties. atrav´s de um objeto do tipo e org.xml” (abordagem mais comumente e utilizada).Primeiro exemplo O arquivo de configura¸˜o do Hibernate pode ser configurado de trˆs ca e formas diferentes: ◮ Programaticamente. ◮ ◮ Prof.Configurator. Atrav´s de um arquivo hibernate. Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 17 / 26 .

Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 18 / 26 .Primeiro exemplo Prof.

Primeiro exemplo Classe HibernateUtil: Prof. Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 19 / 26 .

Primeiro exemplo Estrutura de diret´rio: o Prof. Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 20 / 26 .

Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 21 / 26 .Primeiro exemplo Prof.

Primeiro exemplo Prof. Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 22 / 26 .

Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 23 / 26 .Primeiro exemplo Prof.

Associa¸˜es co Alguns exemplos de aplica¸oes c˜ Hibernate. Prof. Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 24 / 26 ...

que permite que aplica¸˜es Java tenham seus objetos co persistidos em um banco de dados relacional. a um custo relativamente baixo. Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 25 / 26 . Foi visto tamb´m como o Hibernate mapeia as informa¸˜es do BD com e co os atributos dos objetos Java das aplica¸˜es.Fechamento Esta aula apresentou uma vis˜o introdut´ria a respeito da arcabou¸o a o c Hibernate. Atrav´s do uso do Hibernate o desenvolvedor ganha uma s´rie de e e vantagens discutidas nesta aula. como parte da ´ avalia¸˜o dos projetos. ca Prof. co Vamos aplicar o Hibernate em nossos estudos de caso. E aconselh´vel que sejam baixados plugins ca a para a IDE Eclipse que facilitem a gera¸˜o dos arquivos de ca mapeamento e configura¸˜o.

D´vidas u D´vidas? u Prof. Rafael Fernandes Lopes (DAI / CEFET-MA) Linguagem de Programa¸˜o III ca 26 / 26 .

Sign up to vote on this title
UsefulNot useful