Hibernate: do básico às aplicações reais <ul><ul><li>Autores: </li></ul></ul><ul><ul><li>Leonardo Pessoa </li></ul></ul><u...
Agenda <ul><li>Persistência e bancos de dados relacionais </li></ul><ul><li>ORM </li></ul><ul><li>Hibernate </li></ul><ul>...
O que é persistência?
Bancos de dados relacionais <ul><li>Estão no núcleo da corporação moderna </li></ul><ul><li>Independência dos dados </li><...
Disparidade do paradigma O/R <ul><li>Granulosidade </li></ul><ul><li>Subtipos </li></ul><ul><li>Identidade </li></ul><ul><...
Granulosidade
Subtipos
Identidade <ul><li>obj1 == obj2 </li></ul><ul><li>obj1.equals(obj2) </li></ul><ul><li>Chave primária </li></ul>
Associações <ul><li>Referência entre objetos </li></ul><ul><li>Chave estrangeira </li></ul>
Navegação de dados <ul><li>exame.getConsulta.getData(); </li></ul><ul><li>exame.getConsulta.getPaciente.getNome(); </li></...
Custo da disparidade <ul><li>30% do código da aplicação só para tratar SQL/JDBC </li></ul><ul><li>Modelo de domínio x mode...
Custo da disparidade
O que é ORM?
ORM x JDBC <ul><ul><li>Desenvolvimento + manutenção = produtividade </li></ul></ul>
JDBC x Hibernate
JDBC x Hibernate
Soluções caseiras x Soluções prontas <ul><ul><li>99% dos casos cobertos pelo Hibernate </li></ul></ul>
 
Por que Hibernate? <ul><li>Sem SQL? </li></ul><ul><li>Produtividade </li></ul><ul><li>Manutenibilidade </li></ul><ul><li>P...
Características ho Hibernate <ul><li>Abordagem OO </li></ul><ul><li>Checagem automática de sujeira </li></ul><ul><li>Lingu...
Demo Aplicação de demonstração
Modelo de ER
Diagrama de Classes
Hibernate: do básico às aplicações reais <ul><ul><li>Leonardo Pessoa - leonardom.pessoa@gmail.com </li></ul></ul><ul><ul><...
Upcoming SlideShare
Loading in …5
×

Hibernate: dos fundamentos às aplicações reais.

2,605 views

Published on

Palestra apresentada por Jaime Schettini e Leonardo Pessoa no BelJungle V, em setembro de 2008.
--
Presentation about Hibernate presented by Jaime Schettini and Leonardo Pessoa at BelJungle V, in set 2008. Belém-PA, Brazil.

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,605
On SlideShare
0
From Embeds
0
Number of Embeds
153
Actions
Shares
0
Downloads
118
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Hibernate: dos fundamentos às aplicações reais.

  1. 1. Hibernate: do básico às aplicações reais <ul><ul><li>Autores: </li></ul></ul><ul><ul><li>Leonardo Pessoa </li></ul></ul><ul><ul><li>Jaime Schettini </li></ul></ul>
  2. 2. Agenda <ul><li>Persistência e bancos de dados relacionais </li></ul><ul><li>ORM </li></ul><ul><li>Hibernate </li></ul><ul><li>Exemplos </li></ul><ul><li>Aplicação real </li></ul><ul><li>Geração de código </li></ul>
  3. 3. O que é persistência?
  4. 4. Bancos de dados relacionais <ul><li>Estão no núcleo da corporação moderna </li></ul><ul><li>Independência dos dados </li></ul><ul><li>Os dados vivem por mais tempo que as aplicações </li></ul><ul><li>Alternativas: </li></ul><ul><ul><li>OO </li></ul></ul><ul><ul><li>XML </li></ul></ul>
  5. 5. Disparidade do paradigma O/R <ul><li>Granulosidade </li></ul><ul><li>Subtipos </li></ul><ul><li>Identidade </li></ul><ul><li>Associações </li></ul><ul><li>Navegação de dados </li></ul>
  6. 6. Granulosidade
  7. 7. Subtipos
  8. 8. Identidade <ul><li>obj1 == obj2 </li></ul><ul><li>obj1.equals(obj2) </li></ul><ul><li>Chave primária </li></ul>
  9. 9. Associações <ul><li>Referência entre objetos </li></ul><ul><li>Chave estrangeira </li></ul>
  10. 10. Navegação de dados <ul><li>exame.getConsulta.getData(); </li></ul><ul><li>exame.getConsulta.getPaciente.getNome(); </li></ul><ul><li>getExame(); </li></ul><ul><li>getExameComConsulta(); </li></ul><ul><li>getExameComConsultaEPaciente(); </li></ul><ul><li>getExameComConsultaEMedico(); </li></ul><ul><li>getExameComConsultaEPacienteEMedico(); </li></ul>
  11. 11. Custo da disparidade <ul><li>30% do código da aplicação só para tratar SQL/JDBC </li></ul><ul><li>Modelo de domínio x modelo de entidade e relacionamento </li></ul>
  12. 12. Custo da disparidade
  13. 13. O que é ORM?
  14. 14. ORM x JDBC <ul><ul><li>Desenvolvimento + manutenção = produtividade </li></ul></ul>
  15. 15. JDBC x Hibernate
  16. 16. JDBC x Hibernate
  17. 17. Soluções caseiras x Soluções prontas <ul><ul><li>99% dos casos cobertos pelo Hibernate </li></ul></ul>
  18. 19. Por que Hibernate? <ul><li>Sem SQL? </li></ul><ul><li>Produtividade </li></ul><ul><li>Manutenibilidade </li></ul><ul><li>Performance </li></ul><ul><li>Independência de banco de dados </li></ul>
  19. 20. Características ho Hibernate <ul><li>Abordagem OO </li></ul><ul><li>Checagem automática de sujeira </li></ul><ul><li>Linguagem de consulta HQL </li></ul><ul><li>Suporte a diversos SGBD's </li></ul><ul><li>Gera SQL nativo para cada SGBD </li></ul><ul><li>2 níveis de cache </li></ul><ul><li>Anotações como metadados de mapeamento </li></ul>
  20. 21. Demo Aplicação de demonstração
  21. 22. Modelo de ER
  22. 23. Diagrama de Classes
  23. 24. Hibernate: do básico às aplicações reais <ul><ul><li>Leonardo Pessoa - leonardom.pessoa@gmail.com </li></ul></ul><ul><ul><li>Jaime Schettini - jaime.schettini@gmail.com </li></ul></ul>

×