Antes de concluir o tema hibernate, quero comemorar com todos, os mais de 1.000 acessos que no nosso blog conquistou e por isso arrumei um tempinho para atualizar o visual do site….e que venham os 5000, 10 000, 100 000 acessos !

 

E voltando ao Hibernate, vamos concluir o tema mostrando um exemplo prático e clássico de como resolver as relações entre os objetos que reflitam os relacionamentos e cardinalidades das entidades de uma base de dados. O hibernate permite representar os diversos mapeamentos possíveis como um-para-um, um-para-muitos, muitos-para-muitos,  também com o auxílio dos arquivos hbm.xml que exemplificamos no post anterior.

 

O exemplo abaixo , utilizando as mesmas entidades dos posts anteriores, mostra como resolver uma relação com cardinalidade um-para-muitos  entre Produto e seus Itens.

 

hibernatesource4.gif

 

O Set, que está em vermelho, é uma lista que será preenchida por todos os objetos ItemProduto que tenham a relação atendida pela coluna PRODUTO_SQ, que na entidade do BD correspondente, será uma FK na tabela de Itens de Produto. A cláusula “lazy” permite que os “objetos filhos” sejam carregados ou não, no momento que um “objeto pai” seja recuperado da base.

O default para essa propriedade é false, ou seja,  sempre que um Produto for carregado todos os seus Itens também o serão, mas isso pode acarretar em uma perda de performance quando trabalhamos com tabelas de muitos registros (milhares) então, a literatura sugere que ao existir essa condição o “lazy” deve ser true, isso que dizer que os Itens do Produto, só serão recuperados da base quando for executado o método produto.getListaItensProdutos(). 

Esse é o um dos grandes diferencias do Hibernate, permite que o “trabalho sujo” do programador seja minimizado e que seu esforço de desenvolvimento seja desprendido nas regras de negócio do seu projeto.

 

Por fim , seguem algumas das referências que sempre utilizo nas horas de estudar, aprender mais e  descobrir os bugs :

Site oficial

http://www.hibernate.org/

Guia de Referencia:

{Diretorio de Intalação }\hibernate-3.0\doc\reference\en\pdf\ hibernate_reference.pdf

Tradução não oficial para português do guia de referência:

http://sourceforge.net/projects/hibrefptbr ( lá você pode baixar o mesmo pdf acima) – descobri isso ontem a noite lendo uma revista.

 

 ”Ah  e não esquecer obviamente do www.google.com” !!!!!

 

Bom, o intuito dessa série foi introduzir alguns dos conceitos do Hibernate e espero que vocês tenham gostado e que se aprofundem nos conhecimentos……e até a próxima.