Automatic state detection Hibernate

2 respostas
diogoprosoft

Pessoal preciso da ajuda de vcs!!!!!!!!

recebi uma ajuda em um post anterior, que faz com que eu possa gravar e alterar em um mesmo botão o codigo da apostila esta assim

// in the first session
Cat cat = (Cat) firstSession.load(Cat.class, catID);

// in a higher tier of the application
Cat mate = new Cat();
cat.setMate(mate);

// later, in a new session
secondSession.saveOrUpdate(cat);   // update existing state (cat has a non-null id)
secondSession.saveOrUpdate(mate);  // save the new instance (mate has a null id)

Mais não consegui implementar esse exemplo no meu código

public class AdicionaProduto {

     public static void main(String[] args) throws Exception {
        Session session = new HibernateFactory().getSession();
        Produto p = new Produto();    
        p.setNome("Capacete");
        p.setDescricao("EBF7 Cores");
        p.setPreco(65.0);

        Transaction t = session.beginTransaction();
        session.saveOrUpdate(p);
        t.commit();
        System.out.println("Gravado com sucesso");
        System.out.println("ID do produto: " + p.getId());
        session.close();
     }

Preciso fazer com que eu possa digitar os dados e deixar para o hibernate saber se vai alterar ou gravar

ALGUEM PODE ME AJUDAR!!!!!!!!!!!!!!!!!

desde já agradeço :D

2 Respostas

CintiaDR

Olha, as respostas para a sua dúvida estão no próprio trecho de código que vc postou!

// in the first session  
   Cat cat = (Cat) firstSession.load(Cat.class, catID);

Segundo os comentários que você mesmo postou, o hibernate salva ou não dependendo do ID. E pra recuperar uma instância do banco COM ID tem a linha com o load.

diogoprosoft

Blz galera mais um post resolvido

Criado 28 de maio de 2008
Ultima resposta 28 de mai. de 2008
Respostas 2
Participantes 2