Botao avançar persiste 2x

Boa tarde!!

estou com um problema em jsf e richfaces, bom, eu estou com uma aplicação onde tem dois botoes, voltar e avançar, alguem poderia me mostrar um exemplo onde eu possa usar o botao voltar e mostrar as informaçoes que estao persistidas no banco??? e o avançar sem que ele duplique a informação no banco???

agradeço

Dependendo do escopo do bean, ao salvar você também deve limpar a propriedade referente ao objeto persistido.
Isso é apenas uma suspeita… poste o seu código.

o campo Outro quando uso o bota voltar nao traz o dado do banco.
apesar de que ao usar o botao avançar, o dados sao persistido no banco


<rich:dataGrid rendered="true"  value="#{lInstituicao.listAltervativas2_P78}" var="alter2" columns="2"  width="100%"  >
                   <f:facet name="header">
                        <rich:columnGroup style="font-size:9px;font-family:Verdana,Helvetica;horizontal-align:left;  "> 
                            <rich:column colspan="2">
                                <h:outputText   styleClass="labelHeader" value="#{lInstituicao.questaoAtual2.numQuestao}   -  #{lInstituicao.questaoAtual2.enunciado}"> </h:outputText>
                            </rich:column>                            
                        </rich:columnGroup>
                    </f:facet>  
                    
                 <h:panelGrid columns="2">                    
                    <h:selectBooleanCheckbox   value="#{alter2.selecionado}" />
                    <h:panelGrid>
                       <h:outputText styleClass="banner_titulo_2" value="#{alter2.opcao}"></h:outputText>
                       <h:inputText size="40" maxlength="200"   value="#{lInstituicao.alternativaOutra2}"  rendered="#{alter2.campoOutro}" />     
                    </h:panelGrid>
                 </h:panelGrid>
            
          </rich:dataGrid>

codigo botao avançar



 public void gravarQuest_v2(ActionEvent event) throws IOException{  

    FacesContext context = FacesContext.getCurrentInstance();
    response = (HttpServletResponse) context.getExternalContext().getResponse();
    String s     = event.getComponent().getId();   

    LRespostasController cr = new LRespostasController();
    EntityManager em = getEntityManager();
    try {
       
         em.getTransaction().begin();
         for (int i = 0;  i < this.questaoList.size(); i++)
            {
                 LRespostas r = new LRespostas(); 
                 LQuestao o = (LQuestao) this.questaoList.get(i);
                 
                 if (o.getNumResp()!= 0){
                     
                       
                      //System.out.println("RESPOSTA cod_questao i: "+o.getCdQuestao()+" - "+  o.getRespUser().getOpcao()  );
                      r.setCdQuestao(o);
                      r.setCdQuestionario(this.lQuestionario);
                      r.setCdAlternativa(o.getRespUser());
                      r.setOutro(o.getRespUserTXT());
                      //o.getLRespostas().ge
                      
                      cr.create2(r,o.getLRespostas().getCdRespostas());
                      
                 }
                 else{
                     
                     // System.out.println("RESPOSTA cod_questao u: "+o.getCdQuestao()+" - "+ o.getRespUserTXT());
                      r.setCdQuestao(o);
                      r.setCdQuestionario(this.lQuestionario);
                      r.setCdAlternativa(null);
                      r.setOutro(o.getRespUserTXT());
                      cr.create2(r,o.getLRespostas().getCdRespostas());
                 }
                
           }
         
           em.getTransaction().commit(); 
           
           this.salvaVariasAlternativas_v2();
           this.salvaVariasAlternativas_v2_2();
           
       } catch (Exception ex) {
            try {
                addErrorMessage(ex.getLocalizedMessage());
                em.getTransaction().rollback();
            } catch (Exception e) {
                addErrorMessage(e.getLocalizedMessage());
            }
        } finally {
            em.close();
        }
        this.proximoMultiplo(s);
        this.proxPag = s+".jsp";
        
        this.ListAlternativa.clear();
        this.ListAlternativa2.clear();
        response.sendRedirect(this.session.getAttribute("servPath")+ "index3.jsf?path=lInstituicao/Entreposto/"+this.proxPag);
    }