Update com hibernate

5 respostas
R

Procurei procurei e procurei, e nao encontrei nenhum topico falando uma soluçao eficaz, para quando voce deseja atualizar apenas 1 colunas e as outras colunas sao "zeradas", se alguem descobriu alguma soluçao, por favor poste aqui !

import org.hibernate.SessionFactory;
import org.hibernate.classic.Session;


public class UpdateProduto {
	public static void main(String[] args) {
		Session session = (Session) new HibernateUtil().getSession();

		Produto p = new Produto();
		p.setId(3);
		p.setNome("Update Teste");
		session.beginTransaction();
		session.update(p);
		session.getTransaction().commit();
		session.close();
	}

}

5 Respostas

robertol

Você pode recuperar o objeto do banco de dados e alterar apenas o campo que você deseja alterar.

R

N peguei a ideia desculpa

R

Desculpe roberto, acho que peguei a ideia, nao seria, fazer uma consistencia e verificar se o campo q nao foi preenchido, atribuir o valor que ja esta armazenado na minha coluna e depois dar o update ?

robertol

import org.hibernate.SessionFactory;
import org.hibernate.classic.Session;

Tomei a ousadia de copiar seu código e adaptar para o que mencionei.

public class UpdateProduto {  
    public static void main(String[] args) {  
        Session session = (Session) new HibernateUtil().getSession();  
  
        // A Interface Session não possui método findById, mas vc pode implementar algo similar!
        Produto p = session.findById(3);  
        p.setNome("Update Teste");  
        session.beginTransaction();  
        session.update(p);  
        session.getTransaction().commit();  
        session.close();  
    }  
  
}
R

Desculpa cara, mais estaca 0 (:

A ideia que eu tinha era usar hql, para poder apenas dar update no meu campo desejado.

Criado 29 de dezembro de 2010
Ultima resposta 29 de dez. de 2010
Respostas 5
Participantes 2