segunda-feira, 9 de abril de 2012

Re: [java-br] FetchType.Lazy

·

 

Oi Sergio,

Poderia me enviar um exemplo?

Obrigado.

Sergio Felipe Santiago Moreira <sergiofelipesm@ig.com.br> escreveu:

Bom dia !
Bom olha eu vejo que o problema ai é somente seu controle de session,você
esta fechando a conexao,e se você poe como Lazy a cada getAtributo() você
vai no banco e consulta,sendo um left join então ele quando esta tentando
pegar algum atributo ou left das tabelas sua sessão ja esta fechada,então
te aconselho controlar sua session ,tive esse problema de sessions com
collection lazy e resolvi utilizando o singleton onde gerencia -se a
session e com herança,qualquer duvida eu posso te mostrar como você poderia
fazer.
valeu
boa sorte!

Em 7 de abril de 2012 17:42, Roger Rayner Cunha Bento <
roger.rayner@totvs.com.br> escreveu:

> **
>
>
> Boa tarde,
>
> Estou com um problema que não estou conseguindo resolver. Já pesquisei na
> web e não consegui encontrar uma solução. Espero que alguém já tenha
> passado por isso e possa me ajudar.
>
> Tenho duas classes com relacionamento @ManyToMany (definções abaixo).
>
> User
> @ManyToMany(mappedBy="userList", fetch=FetchType.LAZY)
> private Set<UserGroup> userGroupList = new HashSet<UserGroup>();
>
> UserGroup
> @ManyToMany(fetch=FetchType.LAZY, cascade= {CascadeType.DETACH,
> CascadeType.PERSIST, CascadeType.MERGE})
> @JoinTable(name="USER_GROUP_RELAC",
> joinColumns={@JoinColumn(name="OID_USER_GROUP")},
> inverseJoinColumns={@JoinColumn(name="OID_USER")})
> private Set<User> userList = new HashSet<User>();
>
> Como podem ver ambas as listas eu coloquei como fetch=FetchType.LAZY pois
> não quero sobrecarregar a aplicação. Quando vou buscar o meu usuário pelo
> id (que só irá retornar 1 registro) uso a EJB QL abaixo:
>
> @NamedQuery(name="UserById",
> query="FROM User u LEFT JOIN FETCH u.emailList " +
> "LEFT JOIN FETCH u.userGroupList " +
> "where u.user_id like :user_id"),
>
> Mesmo utilizando o LEFT JOIN FETCH é retornado o erro abaixo e não sei
> mais oq fazer.
>
> failed to lazily initialize a collection of role:
> content.UserGroup.userList, no session or session was closed
>
> O LEFT JOIN FETCH não deveria carregar minhas coleções? Para evitar o erro
> da sessão já estar fechada? Alguem sabe como me ajudar?
>
> Fico no aguardo.
>
> Obrigado.
>
>
>

--
Sergio Felipe Santiago Moreira
*Site*: http://misistema.zapto.org:8090

[As partes desta mensagem que não continham texto foram removidas]

------------------------------------

Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-brLinks do Yahoo! Grupos

__._,_.___
Atividade nos últimos dias:
Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-br
SUPEROFERTA COMPUTADORES

Conheça os lançamentos de Tablets e os melhores preços. Dê um Zoom!

Quer conhecer gente nova e interessante? Só depende de você.
.

__,_._,___

0 comentários:

Pague com LPs do Mister Colibri

Pague com LPs do Mister Colibri
Quer comprar celular,Tablet,pen drive, GPS e muito outros produtos e ainda podendo pagar tudo em LPs ?Pois saiba que isso é possível,basta você visitar o site downloadstotal.com e realizar a sua compra com toda tranquilidade e segurança!!!

Hora

Online

Arquivo do Blog