Hibernate - lazy="proxy" [RESOLVIDO]

Fala galera, blz?

Alguém poderia me explicar o que acontece quando eu seto lazy=“proxy” no mapeamento?

Procurei na documentação mas não entendi não.

Valeu!

[]`s

bom dia, então a opção proxy é a padrão quando vc não escolhe nada para o relacionamento, essa opção manda o hibernate usar um objeto falso como entidade, um objeto que seja filho da sua entidade, com isso o hibernate pode facilmente interceptar a chamada ao seus get’s.

espero ter ajudado

[]'s

Bom dia,

então, ainda estou meio sem entender hahaha.

E se usar o no-proxy?

Qual a diferença se eu usar o lazy=“true/false”, por exemplo? (O coneito de lazy true ou false eu sei heheeh, digo qual a diferença em relação ao lazy=“proxy/no-proxy” :-))

Ainda não entendi o por que dele carregar os proxy!

Valeu!

vamos lá!

As três opções ofericidas no site são:
proxy - o hibernate vai extender sua entidade e manipular as chamadas
no-proxy - o hibernate vai mexer no bytecode pra manipular as chamadas
false - o valor dos atributos marcados com essa opção vai vir logo no primeiro select, ou seja ele vai preencher completamente o seu objeto

true - ??? talvez funcione(como proxy por ela ser a padrão), mas não consta na documentação.

Fala cara,

vamos lá,

Aqui você disse:

[quote]proxy - o hibernate vai extender sua entidade e manipular as chamadas
no-proxy - o hibernate vai mexer no bytecode pra manipular as chamadas[/quote]

Ou seja, nos dois casos eu tenho o lazy loading, a diferença é a forma como ele faz isso. No primeiro ele vai criar um proxy e no segundo ele altera minha classe, é isso?

Aqui eu não tenho o lazy loading, quando uma entidade é carregada todos os relacionamentos lazy=false são também carregados, certo?

Então, no hibernate_reference você encontra alguns exemplos de lazy=“true”, concordo que talvez ele funcione como o padrão que é proxy.

Valeu.

Exatamente!!!

:smiley: , valeu Guilherme, tudo esclarecido!

[]`s

Galera, estou meio confuso do que usar em relação ao proxy do hibernate.

NO livro do Bauer, Java Persistence com Hibernate, o autor diz que devemos utilizar o método session.load para recuperar objetos, esse método somente traz a primary key da tabela, para mim conseguir linkar, um cliente na pedidocliente, o pedidocliente necessita de um idcliente, o método load faz isso, já o método session.get, faz um busca por todos os campos da classe no banco de dados.

Estou com dúvida em relação ao oque usar para otimizar a a inserção de um pedidocliente, pois o pedidocliente precisa de um idcliente, estou tentanto fazer uns testes com session.load e session.get, (testo o tempo que demora em 1000 inserções )respectivamente o load deveria ser mais rápido, pois carrega somente o id pelo proxy, já o id faz um select no banco.

Alguém ai pode me ajudar???