Hibernate Proxy

3 respostas
alberto_ribeiro

Boa tarde a todos, queria saber se alguém poderia me dar uma definição de que é um Proxy do hibernate por favor?
Estou fazendo um trabalho sobre o Hibernate e não consegui chegar a uma conclusão…
Até agora o que eu vi é que o Proxy nada mais é que uma cópia do objeto que tem uma identificação para o serviço de persistencia identificar e tem também seus atributos que é para os usuários verem…

Acho que essa definição está errada mais… estou no aguardo…

Agradeço a todos…
Alberto

3 Respostas

_fs

Proxy é algo que parece muito muito com o objeto de verdade, mas não é exatamente.
Entre outros serviços um proxy do Hibernate sabe carregar os relacionamentos declarados como lazy no momento em que são requeridos. Por exemplo:

// parece um objeto Pessoa, mas na verdade é um proxy
// do hibernate
Pessoa p = ( Pessoa ) session.get( Pessoa.class, 1 );

// invoquei um relacionamento 1..n declarado como lazy,
// a coleção de documentos.
// ao invés de simplesmente retornar um objeto List que
// contém objetos Documento, o proxy vai até o banco
// de dados, faz a query e popula a lista para só então
// retornar o valor.
int quantidadeDocumentos = p.getDocumentos().size();

Foi?

alberto_ribeiro

Muito Obrigado amigo… agora eu entendi…

berdam

Desculpe levantar o tópico enterrado, mas existe um porém ai. Segundo o livro Java persistence com Hibernate. O método get necessita de um select, ou seja de um busca física no arquivo de banco de dados. Dessa maneira, ele nâo usa proxy e sim um select comum realizado na base de dados. Para usar proxy utilize o método load.

Valeu

Criado 19 de junho de 2006
Ultima resposta 17 de mar. de 2008
Respostas 3
Participantes 3