Dúvida "básica" sobre JPA

Olá amigos do fórum.

Estou mexendo no codigo de um projeto que utiliza Hibernate, usando diretamente o objeto Session, SessionFactory, etc. A idéia é refatorar isso pra usar as interfaces do JPA (EntityManager, EntityManagerFactory, e tal). Mas o Hibernate continuará sendo o provider

Há alguns métodos que foram feitos de uma maneira “genérica” para insert e update das entidades, em que o código está chamando o método “saveOrUpdate” do Hibernate. Se a entidade nao existisse era inserida, se já existisse era atualizada no banco. Ok. Agora…como migrar esse método para o JPA?

Ao que me consta a especificação prevê o “persist” para inserir, e o “merge” para alterar. Dessa forma, não havia como fazer um “persistOrMerge” ( :lol: ), usando o EntityManager, ou isso está incorreto?

Se possivel, ajudem amigos. Caso fazer isso ai nao seja possivel mesmo atraves do EntityManager suponho que solução seria controlar se o ID está preenchido, e entao chamar cada metodo…certo?

Obrigado amigos!

De fato, haverá a necessidade de tratar se o objeto é novo ou não.
A idéia de fazer isto pelo id é a mais viável.

É, imaginei que nao teria jeito…mas sem galho :wink:

Valeu, drsmachado