Retornar ID via JPA

8 respostas
F

Galera quando eu faço um insert por JPA como eu faria para retornar o id que foi dado para aquele registro?

Abraço.

8 Respostas

J

nao sei se vai dar certo q nunca

classe.getId
D

bom até onde eu sei o metodo merge da JPA lhe retorna a instancia do entity que foi inserido, então você pode pegar o Id do objeto retornado

F

eu estou salvando da seguinte maneira:

em.persist(obj);
        em.getTransaction().commit();

então eu colocaria no final um retorno usando o método merge?

H

obj = em.merge(obj);
em.getTransaction().commit();

se o id for null ele insere um novo registro, senao atualiza. e sempre retorna o id.

D

fabiofns:
eu estou salvando da seguinte maneira:

em.persist(obj);
        em.getTransaction().commit();

então eu colocaria no final um retorno usando o método merge?

não, usa só o merge mesmo

F

não sei o que eu posso estar fazendo errado, segue o meu método que insere o registro:

public T save(T obj) {
    
    em.getTransaction().begin();
    
    try {

        obj = em.merge(obj);
        em.getTransaction().commit();                        
    }
    catch (Exception e) {
        e.printStackTrace();            
    }   
    
    return obj;
}

ai eu chamo assim:

categoriaModel = baseDao.save(categoriaModel);
System.out.println(categoriaModel.getCodcategoria());

ele imprime 0.

D

fabiofns:
não sei o que eu posso estar fazendo errado, segue o meu método que insere o registro:

public T save(T obj) {
    
    em.getTransaction().begin();
    
    try {

        obj = em.merge(obj);
        em.getTransaction().commit();                        
    }
    catch (Exception e) {
        e.printStackTrace();            
    }   
    
    return obj;
}

ai eu chamo assim:

categoriaModel = baseDao.save(categoriaModel);
System.out.println(categoriaModel.getCodcategoria());

ele imprime 0.

Olá,

Não seria porque vc está usando merge ao invés de persist para inserir?
Com persist funciona perfeitamente.

Abraços

F

mas o persist não retorna nada, o merge sim, retornar um obj tipado

Criado 6 de dezembro de 2007
Ultima resposta 10 de dez. de 2007
Respostas 8
Participantes 5