Seguinte tenho um cadastro onde o primeiro tab é o Pai e o segundo são os filhos.
Quando eu salvo o pai e volto nas listagem e recarrego ele com um load funciona tranquilo ao associar os filhos.
Mas o problema esta sendo quando eu salvo o Pai e logo vou para a aba dos Filhos e adiciono e salvo. Ele esta criando um novo pai com os filhos.
Gostaria de saber se tem como eu salvar o pai e em seguinda começar a salvar os filhos sem tem que dar load no pai através da consulta >> edição.
Cara, muito estranho o comportamento do seu programa. Se você tentasse salvar o mesmo objeto 2x, com entityManager.persist(), é pra dar erro. Você não está passando uma cópia do objeto transiente? Poste seu código se puder. Só assim fica difícil visualizar.
Bom não sei se isso foi só pra exemplificicar aqui, mas não entendi o porque de estar havendo retorno String nos metodos para salvar o pai e os filhos.
Você poderia salvar todos de uma só vez, já modificaria a lista de filhos e salvaria o pai de uma vez, mas como cada caso é um caso isso pode não dar certo para você.
E também não tenho muito conhecimento em JPA mas se você edita um parametro em um objeto que já foi persistido ele não é alterado automaticamente? E caso não deve haver um metodo como o do hibernate saveOrUpdate.
Charles Alves era isso mesmo!
O pai tem que ficar com SaveOrUpdate e os filhos podem ficar com Merge.
Eu nao entendo EXATAMENTE a diferença dos dois metodo SaveOrUpdate e Merge, mas vou procurar estuda-las melhor.