Galera quando eu faço um insert por JPA como eu faria para retornar o id que foi dado para aquele registro?
Abraço.
Galera quando eu faço um insert por JPA como eu faria para retornar o id que foi dado para aquele registro?
Abraço.
nao sei se vai dar certo q nunca
classe.getId
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
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?
obj = em.merge(obj);
em.getTransaction().commit();
se o id for null ele insere um novo registro, senao atualiza. e sempre retorna o id.
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
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.
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
mas o persist não retorna nada, o merge sim, retornar um obj tipado