Dúvida Update Hibernate [RESOLVIDO]

Bom dia galera, estou iniciando no hibernate que por sinal é incrível, mas tenho um problema que está enchendo. Em uma servlet eu carrego o meu objeto:

[code]usuario=in.readUTF();
senha = in.readUTF();
in.close();

b.setUsuLogin(usuario);
b.setUsuSenha(senha);

msg=ld.senha(b); //chama classe de persistencia[/code]

Em seguida no método senha eu dou o update:

[code]public String senha(Usuario u)
{
Session s=HibernateUtil.getSessionFactory().getCurrentSession();
Transaction t=s.beginTransaction();

    try
    {
        t.begin();
        s.merge(u);
        t.commit();
        return msg="Senha alterada com sucesso!";
    }
    catch(Exception e)
    {
        t.rollback();
        System.out.println(e.getMessage());
        return e.getMessage();
    }
   
}[/code]

O problema é o seguinte, na Servlet eu não setei o atributo u.setUsuNome, pois não quero e não posso dar update nele, essa é uma aplicação móvel com servlets, e estou migrando para mysql e hibernate e não quero mecher no J2ME, porém o hibernate insiste que eu tenho que carregar o objeto por completo. Ouvi falar em usar load(), mas como ficaria em meu caso ?

Valeu galera!

sim, vc pode usar o load() para carregar quando tem certeza que o objeto ja existe.

Usuario user = (Usuario)session.load(Usuario.class,2);//o id que vc quer
user.setLogin("guj");
session.getTransaction().commit();

vc pode usar o saveOrUpdate() se já existir ele fará o update.

flw.

Valeu amigo, deu certo, fico assim:

[code]public String Senha(String usuario, String senha)
{
Session s=HibernateUtil.getSessionFactory().getCurrentSession();
Transaction t=s.beginTransaction();
Usuario u = (Usuario)s.load(Usuario.class,usuario);
u.setUsuSenha(senha);

    try
    {
        t.begin();
        s.saveOrUpdate(u);
        t.commit();
        return msg="Senha alterada com sucesso!";
    }
    catch(Exception e)
    {
        t.rollback();
        System.out.println(e.getMessage());
        return e.getMessage();
    }
   
}[/code]

hm legal. se existir ele atualiza senao ele cria. :slight_smile: