Saving objects with jpa in transaction with spring

0

Hello, I have a problem in the application that I work with when I persist the object in the database. I see the jboss log shows the insert statement plus the id of the object continues to be null. Not updated. How do I avoid this? Forcing the finalization of a spring transaction?

Follow the service:

    @Override
    @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
    public void salvar(Pessoa editado){

        try{
            Usuario usuario = LoginControlador.getInstancia().getUsuarioSessao();
            editado.setInterligaLogSistemas(usuario.getInterligaLogSistemas());                     
            editado = validacao(editado);

            if(!editado.isAlterou() || validaAlterarStatus()){
                System.out.println("ERRO ao SALVAR PESSOA.");
                return;
            } else {
                ContextoUtil.limparMessageList();
                if (editado.getId() == null || editado.getId() == 0) {
                    editado.setId(null);                    

                    //Padronizando todos os nome em caixa alta
                    editado.setNome(editado.getNome().toUpperCase());
                    editado.setNome(ModificarStrings.removerEspacosDesnecessarios(editado.getNome()));
                    if(validarDuplicacao(editado)){
                        dao.salvar(editado);
                    } else {            
                        String str = "Não é permitido cadastrar pessoas com mesmo CPF.";
                        CentralMensagens.setarMensagemAviso(str);
                        throw new Exception(str);
                    }

                    FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,"Salvo!", "Com sucesso!"));                  
                }
                else {                                      
                    alterar(editado);
                    FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,"Alterado!", "Com sucesso!"));                   
                }                                       
                ContextoUtil.setObjetoSessao(nomeObjetoSessao, editado);                
            }
            System.out.println(getClass().getName().toString() + " id = " + editado.getId());           
        }catch(NullPointerException e){
            getLog().gravarArquivo(e);
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,"Houve uma falha.", "Contactar o Administrador do Sistema."));
        } catch(Exception e){
            getLog().gravarArquivo(e);
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,"Não foi possivel inserir ou alterar os dados.", "Contactar o Administrador do Sistema."));
            e.printStackTrace();
        }
        return;
    }

Follow the DAO:

public void salvar(E entidade) {
        em.persist(entidade);
}
  

14: 36: 26,890 INFO [stdout] () Hibernate: insert into person   (System_Interliga_Log_Sistemas, cpf, dataChange, dataFinal,   dataInclusao, dataCast, identity_identity, email, name,   person, gender, id_Type) values (?,?,?,?,?,?,?,?,?,?,   ?,?)

     

14: 36: 31,291 INFO [stdout] () com.model.servico.PessoaService id =   null

Notice that I get id that should be generated by persist and id continues NULL

    
asked by anonymous 05.08.2015 / 19:34

0 answers