[RESOLVIDO] Duvida basica: Como salvar objeto pai e ja carrega-lo do banco

Boa noite galera!

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.

Valeu e abraços!

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.

Furuta segue abaixo meu código.

public String salvarPai() {

paiDao.salvarPai(pai);
		
return null;


public String salvarFilhos() {

FilhoDao.salvarListaFilhos(pai,
					listaFilhos);

		}
return null;
}


//DAOs

public void salvarPai(Pai pai) {
		// Cria a sessao com o banco e a transacao...
		Session session = HibernateUtil.getSession();
		Transaction t = session.beginTransaction();

		try {
			

			session.merge(pai);
                         t.commit();
			SessionUtil.addSuccessMessage("OperacaoSucesso");
		} catch (Exception e) {
			t.rollback();
		SessionUtil.addErrorMessage("OperacaoFracasso");
		} finally {
			session.close();
		}


public void salvarListaFilhos(Pai pai, listaFilhos) {
		// Cria a sessao com o banco e a transacao...
		Session session = HibernateUtil.getSession();
		Transaction t = session.beginTransaction();

		try {
			pai.setFilhosCollection(listaFilhos);

			session.merge(pai);
                         t.commit();
			SessionUtil.addSuccessMessage("OperacaoSucesso");
		} catch (Exception e) {
			t.rollback();
		SessionUtil.addErrorMessage("OperacaoFracasso");
		} finally {
			session.close();
		}

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.

MUITO OBRIGADO.