sábado, 7 de abril de 2012

Re: [java-br] FetchType.Lazy

·

 

Boa noite pessoal,

Roger, estou com o mesmo problema.

Uma das soluções que encontrei mas não tive tempo de testar é utilizando o OpenSessionView.

Vou fazer uns testes e posso postar, o resultado.

Mas o meu problema, também é como Many to Many.

Abraços
Marcus Paulo

Enviado via iPhone

On 07/04/2012, at 17:42, Roger Rayner Cunha Bento <roger.rayner@totvs.com.br> wrote:

> 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.
>
>

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

__._,_.___
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
Ache modelos de Ar Condicionado com os melhores preços. Dê um Zoom!

SUPEROFERTA HP PRO3410

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