Boa noite, Pessoal
Eu tenho um método onde realizo o save da entidade e gostaria de retornar o que foi salvo. A duvida é dessa forma é melhor jeito?
try {
EntityTransaction tx = em.getTransaction();
tx.begin();
em.persist(entity);
tx.commit();
return entity;
} catch (RuntimeException e) {
em.getTransaction().rollback();
return null;
} finally {
if (em != null && em.isOpen()) {
em.close();
}
}
Abs
O código que você postou está incompleto, não? Mostra apenas o try/catch/finally
Se estou certo, você passa a entidade como argumento na chamada deste método, logo, pode devolver a própria após o commit ou ao fim do try/catch/finally
Olá,
Sim, esta incompleto…é como você falou eu informo a entity como argumento…eu até fiz dessa forma que você disse…porem o retorno vem incompleto os campos que são de relacionamento não são exibidos…ai fiz uma coisa bem porca alterei o retorno do método acima para Boolean e caso tenha conseguido persistir com sucesso…eu faço um find e retorno a lista. Não sei se é a melhor saída, porem até momento esta resolvendo meu problema.
Abs
Realmente, não é a melhor alternativa.
Provavelmente teu relacionamento esteja como LAZY, assim sendo, só carregará o que é da classe em questão e, quando necessário, os elementos relacionados.