Update usando Hibernate

1 resposta
M

Gostaria de saber, se utilizando Hibernate, existe algum modo de atualizar vários dados ao mesmo tempo. Eu sei que tem jeito de atualizar os dados no Bean que está na memória usando session.update(myBean), mas gostaria de atualizar vários dados ao mesmo tempo. Mais ou menos como o UPDATE do SQL

update Clientes set Pagamento = 'S' where Ativo = 'S'

no caso vai atualizar todos os clientes que estão com o campo Ativo = ‘S’.

Da pra fazer isso utlizando Hibernate?

obrigado

1 Resposta

mgarcia

Neste caso recomendo q vc use HQL…

dá uma pesquisada sobre isso…

mas segue um exemplo aqui:

public void exclui(LanctoEstoque le){
        Formata formata = new Formata();
        Query q = this.getSession().createQuery("delete from LanctoEstoque l where " +
                "l.lanctoEstoquePK.empsCod = :empsCod and " +
                "l.lanctoEstoquePK.filiCod = :filiCod and " +
                "l.lanctoEstoquePK.mateCod = :mateCod and " +
                "l.lanctoEstoquePK.lstqDat = :lstqDat and " +
                "l.lanctoEstoquePK.topeCod = :topeCod");
        
        q.setParameter("empsCod", le.getLanctoEstoquePK().getEmpsCod());
        q.setParameter("filiCod", le.getLanctoEstoquePK().getFiliCod());
        q.setParameter("mateCod", le.getLanctoEstoquePK().getMateCod());
        q.setDate("lstqDat", formata.data(le.getLanctoEstoquePK().getLstqDat()));
        q.setParameter("topeCod", le.getLanctoEstoquePK().getTopeCod());
        
        Transaction tx = this.getSession().beginTransaction();
        q.executeUpdate();
        tx.commit();
    }

Neste exemplo, está excluindo, mas update também é suportado.

Espero ter ajudado

Criado 10 de abril de 2004
Ultima resposta 20 de dez. de 2007
Respostas 1
Participantes 2