@OneToOne com FetchType.LAZY

1 resposta
renanpto

Boa Tarde,

Tenho um relacionamento de 1 pra 1 bidirecional entre duas classes A e B por exemplo.

Há como buscar um objeto A sem que o atributo “b” seja buscado também ? Pois ele precisa ser buscado somente quando invocado o metodo getB()… ideia de colecoes com FetchType.LAZY…

Vi alguns topicos aqui no GUJ onde algumas pessoas comentaram que esse tipo de relacionamento sempre tras o outro objeto que participa do vinculo ( no exemplo o atributo “b” ).

Tentei utilizar a @Proxy( lazy = true ) na classe B (exemplo), mas continuou trazendo os mesmos objetos.

Qual foi a sua solução para esse tipo de problema ?

:?:=D

1 Resposta

B

Você está querendo trazer relacionamentos apenas por demanda?

Se for esse o caso vc precisa fazer algo desse tipo na sua classe A:

@OneToOne(fetch=FetchType.LAZY)
 @JoinColumn(name="ID_B")
 public B getB(){
  return B; 
 }

Relacionamentos que utilizam LAZY nunca trazem as entidades, os que utilizam EAGER(Comportamento Default caso você não declare o atributo fetch) sempre iram trazer as entidades…

Criado 27 de janeiro de 2010
Ultima resposta 28 de jan. de 2010
Respostas 1
Participantes 2