sábado, 7 de abril de 2012

[java-br] FetchType.Lazy

·

 

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.

__._,_.___
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
Conheça os lançamentos de TVs e os melhores preços. Dê um Zoom!

SUPEROFERTA HP PRO3410

Quem procura, acha. Encontre a pessoa ideal online
.

__,_._,___

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