Eu tenho o projeto com Spring Security. então eu tenho um managedbean que pega o usuário quando loga…
[code]@ManagedBean
@SessionScoped
public class UsuarioController {
private Usuario usuario;
private UsuarioDAO dao;
private String novaSenha;
public UsuarioController() {
long t1 = System.currentTimeMillis();
try {
SecurityContext context = SecurityContextHolder.getContext();
if (context instanceof SecurityContext) {
Authentication authentication = context.getAuthentication();
if (authentication instanceof Authentication) {
if (usuario == null) {
usuario = new Usuario();
usuario.setUsername(((User) authentication.getPrincipal()).getUsername());
dao = new UsuarioDAOImp();
usuario = dao.getUsuarioUsername(usuario.getUsername());
}
}
}
} catch (Exception e) {
}
long t2 = System.currentTimeMillis();
System.out.println("UsuarioController - construtor: " + (t2 - t1));
}[/code]
blz, ai eu consigo exibir os dados dele na tela normal… usuario.nome, usuario.email, etc…
ai eu tenho uma página pra atualiza os dados dele… que chama o método:
public void salvar(){
System.out.println("passo ak");
dao.update(usuario);
}
ai da o seguinte erro:
javax.servlet.ServletException: org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions
org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions
meu UsuarioDAOImp está assim:
@Override
public void update(Usuario usuario) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
Transaction t = session.beginTransaction();
session.update(usuario);
t.commit();
}
nao to entendedo esse erro de duas sessions associado a collection… nao entendi nada isso ai