Toplink, UnitOfWork - como realizar um update?

Opa :smiley:

Alguém sabe como q eu posso realizar um update em uma tabela utilizando o toplink/unitofwork? Estou tentando utilizar o seguinte:

	public void save(RegistroOfertaVO registroOfertaVO) {
		TbCarga pojo = parseToPojo(TbCarga);
		if(registroOfertaVO.getIdTabela() == null){
			unitOfWork.assignSequenceNumber(pojo);
		}
		unitOfWork.registerObject(pojo);
	}

Tipo, tem q fazer alguma coisa pra ele realizar um update?

[]'s

Consegui avançar um pouco:

Mudei meu método para:

public void save(RegistroOfertaVO registroOfertaVO) {
		TbCarga pojo = parseToPojo(registroOfertaVO);
		if(registroOfertaVO.getIdTabela() == null){
			unitOfWork.assignSequenceNumber(pojo);
		} else {
			RegistroOfertaVO registroBanco = buscarRegistro(registroOfertaVO.getIdTabela());
			TbCarga pojoAtual = parseToPojo(registroBanco);
			pojoAtual = (TbCarga)unitOfWork.mergeClone(pojo);
			unitOfWork.registerObject(pojoAtual);
		}

Não faço o commit aqui pq tem um gerenciador de transações.

Mas ele me trava a aplicação e fica eternamente sem terminar o fluxo. ALguém pode me dar uma força?