Debug pq entra varias vezes na mesma rotina?

Pessoal,

estou dando manutencação em um sistema, e notei algo estranho , estou debugando o codigo para entender melhor o que o sistema faz , e por exemplo coloquei um breakpoint na linha (return itemAtual1)

	public ItemOrcamentoHelper getItemAtual1() {
		return itemAtual1;
	}	

e percebi que ele entra nesta rotina por exemplo 3 vezes, antes de apresentar a tela , alguem ja passou por isso ???

segue abaixo meu jspx e minha classe ManterItemOrcamentoMB

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:t="http://myfaces.apache.org/tomahawk"
	xmlns:cqa="http://www.cqa.com.br"
	xmlns:rich="http://richfaces.org/rich"
	xmlns:a4j="http://richfaces.org/a4j"
	xmlns:f="http://java.sun.com/jsf/core"
	version="2.0">
    <ui:composition>
    	<h:form id="itensOrcamentoForm">
    		<div style="display: none">
    			<h:commandButton value="#{messages['botao.salvar']}" action="#{ManterItemOrcamentoMB.confirmar}"
	                styleClass="saveButton mainButton" />
    		</div>

	        <a4j:keepAlive beanName="ManterItemOrcamentoMB" />
	        <a4j:keepAlive beanName="ManterOrcamentoMB" />
	        <a4j:log/>

	        <fieldset>
	            <ul>
	                <li class="tabOrcamento">
	                    <rich:dataTable styleClass="richDataTable" rowClasses="lineOdd,lineEven" rowKeyVar="indice"
	                    	rendered="#{ManterItemOrcamentoMB.itens.rowCount > 0}" value="#{ManterItemOrcamentoMB.itens}"
	                    	var="itemOrcamento">
	                        <f:facet name="header">
	                            <rich:columnGroup>
	                                <rich:column width="5%">
	                                    <h:outputText value="#{messages['label.numero']}" />
	                                </rich:column>
	                                <rich:column style="width:50%">
	                                    <h:outputText value="#{messages['label.descricao']}" />
	                                </rich:column>
	                                <rich:column style="width:20%">
	                                    <h:outputText value="#{messages['label.matriz']}" />
	                                </rich:column>
	                                <rich:column style="width:10%"/>
	                            </rich:columnGroup>
	                        </f:facet>
	                        <rich:column>
	                            <h:outputText value="#{indice + 1}" />
	                        </rich:column>
	                        <rich:column>
	                            <h:outputText value="#{itemOrcamento.descricao}" />
	                        </rich:column>
	                        <rich:column>
	                            <h:outputText value="#{itemOrcamento.matriz.nome}" />
	                        </rich:column>
	                        <rich:column>
	                            <div class="collCenter coll100">
	                                <h:commandLink action="#{ManterItemOrcamentoMB.alterarItemOrcamento}"
	                                	styleClass="imgLink" title="#{messages['botao.alterar']}">
	                                    <h:graphicImage url="/assets/images/edit-content.png" />
	                                </h:commandLink>
	                                <h:commandLink action="#{ManterItemOrcamentoMB.excluirItemOrcamento}"
	                                	styleClass="imgLink" title="#{messages['botao.excluir']}">
	                                    <h:graphicImage url="/assets/images/helper-reset.png" />
	                                </h:commandLink>
	                            </div>
	                        </rich:column>
	                    </rich:dataTable>
	                </li>
	                <li>
	                    <rich:panel>
	                        <f:facet name="header">
	                            <h:outputText value="#{messages['label.itemOrcamento']}" />
	                        </f:facet>
	                        <ul>
	                            <li class="sentenceInput required">
	                                <h:outputLabel value="#{messages['label.descricao']}" />
	                                <h:inputText styleClass="sentenceInput" value="#{ManterItemOrcamentoMB.itemAtual.descricao}"
	                                	maxlength="100" />
	                            </li>
	                            <li class="noWrap required spaceRight">
			                		<h:outputLabel value="#{messages['label.matriz']}" />
			                		<h:inputText value="#{ManterItemOrcamentoMB.matriz.nome}" readonly="true" size="60"/>
	                                <h:commandLink action="#{ManterItemOrcamentoMB.consultarMatriz}"
	                                	styleClass="imgLink" title="#{messages['botao.consultar']}">
	                                    <h:graphicImage url="/assets/images/search-button.png" />
	                                </h:commandLink>
			                    </li>
	                            <li class="required noWrap">
	                                <h:outputLabel value="#{messages['label.tipoAmostra']}" />
	                                <h:selectOneMenu id="tipoAmostra" value="#{ManterItemOrcamentoMB.itemAtual.tipoAmostra}"
	                                	converter="#{ManterItemOrcamentoMB.tipoAmostraConverter}">
	                                    <f:selectItems value="#{ManterItemOrcamentoMB.tipoAmostraItems}" />
	                                    <a4j:support ajaxSingle="true" event="onchange" reRender="panelTotal" />
	                                </h:selectOneMenu>
	                            </li>
	                            <li class="required noWrap">
	                                <h:outputLabel value="#{messages['label.numeroAmostras']}" />
	                                <h:inputText id="numAmostras" value="#{ManterItemOrcamentoMB.itemAtual1.numeroAmostras}"
	                                	maxlength="3" converter="IntegerConverter">
	                                    <f:attribute name="fieldLabel" value="#{messages['label.numeroAmostras']}" />
	                                    <a4j:support event="onchange" reRender="panelTotal" />
	                                </h:inputText>
	                            </li>
	                            <li class="panelEspecificacoes">
	                                <h:outputLabel value="#{messages['label.especificacao']}" />
	                                <rich:panel id="panelEspecificacoes">
	                                    <h:dataTable value="#{ManterItemOrcamentoMB.especificacoes}" var="especificacao">
	                                        <h:column>
	                                            <h:selectBooleanCheckbox value="#{especificacao.selecionado}">
	                                                <a4j:support event="onclick" ajaxSingle="true"
	                                                	action="#{ManterItemOrcamentoMB.selecionarEspecificacao}"
	                                                	reRender="panelEspecificacoes, panelAnalises,
	                                                		totalEnsaiosContratados, panelPerguntas, panelTotal" />
	                                            </h:selectBooleanCheckbox>
	                                        </h:column>
	                                        <h:column>
	                                            <h:outputText value="#{especificacao.objeto.nome}" />
	                                        </h:column>
	                                    </h:dataTable>
	                                </rich:panel>
	                            </li>
	                            <li id="panelAnalisesContainer">
	                                <rich:panel id="panelAnalises">
	                                    <f:facet name="header">
	                                        <h:outputText value="#{messages['label.analisesSeremExecutadas']}" />
	                                    </f:facet>
	                                    <ul>
	                                        <li class="noWrap spaceRight funtionalGroup">
	                                            <h:outputLabel value="#{messages['label.ensaio']}" />
	                                            <h:inputText value="#{ManterItemOrcamentoMB.filtro.nomeEnsaio}" />
	                                            <h:outputLabel style="margin-left:10px" value="#{messages['label.grupoFuncional']}" />
	                                            <h:selectOneMenu value="#{ManterItemOrcamentoMB.filtro.grupoFuncional}"
	                                            	converter="#{ManterItemOrcamentoMB.grupoFuncionalConverter}">
	                                                <f:selectItems value="#{ManterItemOrcamentoMB.gruposFuncionais}" />
	                                            </h:selectOneMenu>
	                                        </li>
	                                        <li>
	                                            <h:outputLabel style="margin-top:5px" for="somenteSelecionados"
	                                            	value="#{messages['label.exibirSomenteSelecionados']}" />
	                                            <h:selectBooleanCheckbox id="somenteSelecionados"
	                                            	value="#{ManterItemOrcamentoMB.filtro.exibirSomenteSelecionados}" />
	                                            <a4j:commandButton style="margin-left:195px;" styleClass="filtersButton inlineButton"
	                                            	action="#{ManterItemOrcamentoMB.executarFiltro}" reRender="analises, panelAnalises"
	                                            	value="#{messages['botao.filtrar']}" />
	                                        </li>
	                                        <li>
	                                            <a4j:commandButton style="background-color: transparent; border: none;"
	                                            	styleClass="removeButton inlineButton" action="#{ManterItemOrcamentoMB.desmarcarTodos}"
	                                            	reRender="analises, panelAnalises" value="#{messages['botao.desmarcarTodos']}"
	                                            	title="#{messages['botao.desmarcarTodos']}" />
	                                            <rich:dataTable rows="100" styleClass="richDataTable" rowClasses="lineOdd,lineEven"
	                                            	footerClass="paginador" rendered="#{ManterItemOrcamentoMB.analisesExibidas.rowCount > 0}"
	                                            	value="#{ManterItemOrcamentoMB.analisesExibidas}" var="analise" id="analises">
	                                                <f:facet name="header">
	                                                    <rich:columnGroup>
	                                                        <rich:column/>
	                                                        <rich:column>
	                                                            <h:outputText value="#{messages['label.ensaios']}" />
	                                                        </rich:column>
	                                                        <rich:column>
	                                                            <h:outputText value="#{messages['label.metodos']}" />
	                                                        </rich:column>
	                                                        <rich:column>
	                                                            <h:outputText value="#{messages['label.unidade']}" />
	                                                        </rich:column>
	                                                        <rich:column>
	                                                            <h:outputText value="#{messages['label.LD']}" />
	                                                        </rich:column>
	                                                        <rich:column>
	                                                            <h:outputText value="#{messages['label.LQ']}" />
	                                                        </rich:column>
	                                                        <rich:column>
	                                                            <h:outputText value="#{messages['label.preco']}" />
	                                                        </rich:column>
	                                                        <rich:column>
	                                                            <h:outputText value="#{messages['label.prazo']}" />
	                                                        </rich:column>
	                                                        <rich:column>
	                                                        </rich:column>
	                                                    </rich:columnGroup>
	                                                </f:facet>
	                                                <rich:column styleClass="collCenter" width="15">
	                                                    <h:selectBooleanCheckbox value="#{analise.selecionado}" id="checkSelecionarAnalise"
	                                                    	disabled="#{analise.ensaiosAlocados}">
	                                                        <a4j:support ajaxSingle="true" action="#{ManterItemOrcamentoMB.selecionarAnalise}"
	                                                        	event="onclick" reRender="totalEnsaiosContratados, panelTotal, MsgAnalisePanel" />
	                                                    </h:selectBooleanCheckbox>
	                                                </rich:column>
	                                                <rich:column>
	                                                    <h:outputText value="#{analise.ensaio.nome}" />
	                                                </rich:column>
	                                                <rich:column>
	                                                    <h:selectOneMenu value="#{analise.metodo}" disabled="#{analise.ensaiosAlocados}"
	                                                    	converter="#{ManterItemOrcamentoMB.metodosConverter}">
	                                                        <t:selectItems value="#{analise.metodosDisponiveis}" var="metodo"
	                                                        	itemLabel="#{metodo.nome}" itemValue="#{metodo}" />
	                                                        <a4j:support action="#{ManterItemOrcamentoMB.trocarMetodo}"
	                                                        	ajaxSingle="true" event="onchange" reRender="panelAnalises, panelTotal" />
	                                                    </h:selectOneMenu>
	                                                </rich:column>
	                                                <rich:column>
	                                                    <h:selectOneMenu value="#{analise.unidade}" disabled="#{analise.ensaiosAlocados}"
	                                                    	converter="#{ManterItemOrcamentoMB.unidadeConverter}">
	                                                        <t:selectItems value="#{analise.unidade.grupo.unidades}" var="unidade"
	                                                        	itemLabel="#{unidade.descricao}" itemValue="#{unidade}" />
	                                                        <a4j:support ajaxSingle="true" event="onchange" reRender="panelAnalises, panelTotal" />
	                                                    </h:selectOneMenu>
	                                                </rich:column>
	                                                <rich:column>
	                                                    <h:outputText value="#{analise.ld}" />
	                                                </rich:column>
	                                                <rich:column>
	                                                    <h:outputText value="#{analise.lq}" />
	                                                </rich:column>
	                                                <rich:column>
	                                                    <h:outputText value="#{analise.preco}" />
	                                                </rich:column>
	                                                <rich:column>
	                                                    <h:outputText value="#{analise.prazo}" />
	                                                </rich:column>
	                                                <rich:column width="20" styleClass="collCenter">
	                                                    <a4j:commandButton reRender="panelAnalises" ajaxSingle="true"
	                                                    	action="#{ManterItemOrcamentoMB.copiarAnalise}" title="#{messages['botao.copiar']}"
	                                                    	value="" styleClass="btCopiar" />
	                                                </rich:column>
	                                                <f:facet name="footer">
	                                                    <rich:datascroller ajaxSingle="true" for="analises" />
	                                                </f:facet>
	                                            </rich:dataTable>
	                                        </li>
	                                    </ul>
	                                </rich:panel>
	                                <a4j:outputPanel id="totalEnsaiosContratados">
	                                    <ul>
	                                        <li class="noWrap spaceRight sentenceLabel labelTotal">
	                                            <h:outputLabel value="#{messages['label.precoTotalEnsaiosContratados']}" />
	                                            <h:inputText styleClass="readOnly" readonly="true" id="totalAnalisesContratadas"
	                                            	value="#{ManterItemOrcamentoMB.itemAtual1.totalPorAmostra}" />
	                                        </li>
	                                        <li class="readOnly labelTotal">
	                                            <h:outputLabel value="#{messages['label.prazoTotalAnalise']}" />
	                                            <h:inputText styleClass="readOnly" readonly="true" id="prazoTotalAnalise"
	                                            	value="#{ManterItemOrcamentoMB.prazoItemOrcamento}" />
	                                        </li>
	                                    </ul>
	                                </a4j:outputPanel>
	                            </li>
	                            <li>
	                                <rich:panel id="panelPerguntas">
	                                    <rich:dataTable id="perguntas" styleClass="richDataTable" rowClasses="lineOdd,lineEven"
	                                    	rendered="#{ManterItemOrcamentoMB.exibirQuestoes}"
	                                    	value="#{ManterItemOrcamentoMB.itemAtual.questionario.respostas}" var="resposta">
	                                        <f:facet name="header">
	                                            <rich:columnGroup>
	                                                <rich:column width="50%">
	                                                    <h:outputText value="#{messages['label.pergunta']}" />
	                                                </rich:column>
	                                                <rich:column>
	                                                    <h:outputText value="#{messages['label.resposta']}" />
	                                                </rich:column>
	                                            </rich:columnGroup>
	                                        </f:facet>
	                                        <rich:column>
	                                            <h:outputText rendered="#{resposta.pergunta.respostaObrigatoria}"
	                                            	style="color:#CC0000;margin-right:5px;" value="*" />
	                                            <h:outputText value="#{resposta.pergunta.texto}" />
	                                        </rich:column>
	                                        <rich:column>
	                                            <h:inputText value="#{resposta.texto}" style="width:98%" maxlength="255" />
	                                        </rich:column>
	                                    </rich:dataTable>
	                                </rich:panel>
	                            </li>
	                            <li>
	                                <rich:panel id="itensOrcamentoPanelAjusteFinanceiro" rendered="#{ManterItemOrcamentoMB.exibirPainelAjusteFinanceiro}">
	                                    <f:facet name="header">
	                                        <h:outputText value="#{messages['label.descontoAcrescimo']}" />
	                                    </f:facet>
	                                    <ul>
	                                        <li class="noWrap">
	                                            <h:selectOneMenu value="#{ManterItemOrcamentoMB.itemAtual.ajusteFinanceiro.tipoAjusteFinanceiro}">
	                                                <f:selectItems value="#{ManterOrcamentoMB.tiposAjusteFinanceiro}" />
	                                                <a4j:support ajaxSingle="true" event="onchange" reRender="panelTotal" />
	                                            </h:selectOneMenu>
	                                            <h:inputText style="margin-left:5px; font-size:17px;"
	                                            	value="#{ManterItemOrcamentoMB.itemAtual.ajusteFinanceiro.taxa}"
	                                            	converter="ajusteFinanceiroConverter">
	                                                <a4j:support ajaxSingle="true" event="onchange" reRender="panelTotal" />
	                                            </h:inputText><span class="fakeSpace" />
	                                            <h:selectOneMenu value="#{ManterItemOrcamentoMB.itemAtual.ajusteFinanceiro.unidadeAjusteFinanceiro}">
	                                                <f:selectItems value="#{ManterOrcamentoMB.unidadesAjusteFinanceiro}" />
	                                                <a4j:support ajaxSingle="true" event="onchange" reRender="panelTotal" />
	                                            </h:selectOneMenu>
	                                        </li>
	                                    </ul>
	                                </rich:panel>
	                            </li>
	                            <li>
	                                <rich:panel id="panelTotal">
	                                    <f:facet name="header">
	                                        <h:outputText value="#{messages['label.totalizacoes']}" />
	                                    </f:facet>
	                                    <ul>
	                                        <li class="sentenceLabel noWrap labelTotal">
	                                            <h:outputLabel value="#{messages['label.totalPorAmostra']}" />
	                                            <h:inputText value="#{ManterItemOrcamentoMB.itemAtual1.totalPorAmostra}"
	                                            	readonly="true" styleClass="readOnly" />
	                                        </li>
	                                        <li class="sentenceLabel labelTotal">
	                                            <h:outputLabel value="#{messages['label.totalPara']} #{ManterItemOrcamentoMB.itemAtual.numeroAmostras} #{messages['label.amostras']}" />
	                                            <h:inputText value="#{ManterItemOrcamentoMB.itemAtual1.total}" readonly="true" styleClass="readOnly" />
	                                        </li>
	                                    </ul>
	                                </rich:panel>
	                            </li>
	                            <li class="textAreaObservaction">
	                                <h:outputLabel value="#{messages['label.observacoes']}" />
	                                <h:inputTextarea styleClass="textAreaLarge textObservacao" value="#{ManterItemOrcamentoMB.itemAtual.observacao}" />
	                            </li>
	                        </ul>
	                    </rich:panel>
	                </li>
	            </ul>
	            <div class="buttons">
	                <h:commandButton value="#{messages['botao.salvar']}" action="#{ManterItemOrcamentoMB.confirmar}"
	                	styleClass="saveButton mainButton" />
	                <h:commandButton value="#{messages['botao.novo']}" action="#{ManterItemOrcamentoMB.novoItem}"
	                	styleClass="addButton" />
	            </div>
	        </fieldset>
        </h:form>
    </ui:composition>
</jsp:root>

************************************
package br.com.cqa.lims.web.orcamento;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.SortedSet;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.context.FacesContext;
import javax.faces.model.ListDataModel;
import javax.faces.model.SelectItem;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import br.com.cqa.lims.analise.Analise;
import br.com.cqa.lims.analise.AnaliseContratada;
import br.com.cqa.lims.analise.AnaliseServiceLocal;
import br.com.cqa.lims.analise.EnsaioServiceLocal;
import br.com.cqa.lims.analise.Especificacao;
import br.com.cqa.lims.analise.GrupoFuncional;
import br.com.cqa.lims.analise.Matriz;
import br.com.cqa.lims.analise.TipoAmostra;
import br.com.cqa.lims.analise.questionario.Pergunta;
import br.com.cqa.lims.analise.questionario.Questionario;
import br.com.cqa.lims.coleta.orcamento.ItemOrcamentoColetavel;
import br.com.cqa.lims.financeiro.AjusteFinanceiro;
import br.com.cqa.lims.financeiro.TipoAjusteFinanceiro;
import br.com.cqa.lims.financeiro.UnidadeAjusteFinanceiro;
import br.com.cqa.lims.orcamento.AnaliseDuplicadaException;
import br.com.cqa.lims.orcamento.ItemOrcamento;
import br.com.cqa.lims.orcamento.Orcamento;
import br.com.cqa.lims.orcamento.OrcamentoServiceLocal;
import br.com.cqa.lims.util.StringUtil;
import br.com.cqa.lims.validation.CampoInvalido;
import br.com.cqa.lims.validation.CampoInvalido.Motivo;
import br.com.cqa.lims.web.analise.GrupoFuncionalConverter;
import br.com.cqa.lims.web.analise.MatrizConverter;
import br.com.cqa.lims.web.analise.MetodoConverter;
import br.com.cqa.lims.web.analise.TipoAmostraConverter;
import br.com.cqa.lims.web.analise.unidade.UnidadeConverter;
import br.com.cqa.lims.web.matriz.ConsultarMatrizMB;
import br.com.cqa.lims.web.orcamento.helper.AnaliseItem;
import br.com.cqa.lims.web.orcamento.helper.AnaliseItemComparator;
import br.com.cqa.lims.web.orcamento.helper.AnaliseItemHelper;

import br.com.cqa.lims.web.orcamento.helper.ItemOrcamentoHelper;


import br.com.cqa.lims.web.orcamento.helper.FiltroAnalise;
import br.com.cqa.lims.web.utils.CallbackableMB;
import br.com.cqa.lims.web.utils.ConfirmarOperacaoMB;
import br.com.cqa.lims.web.utils.FacesUtils;
import br.com.cqa.lims.web.utils.ObjetoSelecionavel;
import br.com.cqa.lims.web.utils.OperacaoConfirmavel;
import br.com.cqa.lims.web.utils.PageMB;
import br.com.cqa.lims.web.utils.ValidationUtils;
import br.com.dextra.web.menu.MenuMB;


import br.com.cqa.lims.orcamento.ItemOrcamentoServiceBean;

import br.com.cqa.lims.orcamento.PrecoPorMetodoServiceBean;
import br.com.cqa.lims.orcamento.PrecoPorMetodoServiceLocal;


public class ManterItemOrcamentoMB implements PageMB, OperacaoConfirmavel,
		CallbackableMB {

	private static final long serialVersionUID = 4902643748803576282L;

	private static final Logger LOG = LoggerFactory
			.getLogger(ManterItemOrcamentoMB.class);

	@EJB(name = "OrcamentoServiceBean/local")
	private OrcamentoServiceLocal orcamentoService;

	@EJB(name = "EnsaioServiceBean/local")
	private EnsaioServiceLocal ensaioService;

	@EJB(name = "AnaliseServiceBean/local")
	private AnaliseServiceLocal analiseService;	
	
	@EJB(name = "PrecoPorMetodoServiceBean/local")
	private PrecoPorMetodoServiceLocal precopormetodoservice;


	private Orcamento orcamento;
	
	
	private ItemOrcamento itemorcamento;
	private ItemOrcamento itemAtual = new ItemOrcamentoColetavel();
	
	private ItemOrcamentoHelper itemAtual1 = new ItemOrcamentoHelper(this.getItemAtual());
//	private ItemOrcamentoHelper itemAtual1 = new ItemOrcamentoHelper(itemorcamento);
	
	
	
	private Matriz matriz;

	private List<SelectItem> tipoAmostraItems;
	private List<SelectItem> gruposFuncionais = new ArrayList<SelectItem>();
	private ListDataModel itens;

	// Analises que estao sendo exibidas no momento
	private ListDataModel analisesExibidas = new ListDataModel(
			new ArrayList<AnaliseItem>());

	// Agrupa todas as analises, inclusive as com especificacao
	private List<AnaliseItem> todasAnalises = new ArrayList<AnaliseItem>();

	// Mantem isolado as analises que possuem especificacao
	private List<AnaliseItem> analisesComEspecificacao = new ArrayList<AnaliseItem>();

	private ListDataModel especificacoes = new ListDataModel(
			Collections.EMPTY_LIST);

	private FiltroAnalise filtro = new FiltroAnalise();
	private GrupoFuncional filtroGrupoFuncional;

	private GrupoFuncionalConverter grupoFuncionalConverter = new GrupoFuncionalConverter();
	private MatrizConverter matrizConverter = new MatrizConverter();
	private TipoAmostraConverter tipoAmostraConverter = new TipoAmostraConverter();
	private MetodoConverter metodosConverter = new MetodoConverter();
	private UnidadeConverter unidadeConverter = new UnidadeConverter();

	private boolean alteracao = false;

	private ManterOrcamentoMB manterOrcamentoMB = FacesUtils
			.findManagedBean(ManterOrcamentoMB.class);

	private int indiceItemAlterado;

	public void alterarItemOrcamento() {
		ItemOrcamento item = (ItemOrcamento) itens.getRowData();
		this.indiceItemAlterado = orcamento.getIndiceItem(item);
		this.prepararAlteracaoItem();
	}

	@SuppressWarnings("unchecked")
	public void confirmar() {
		List<CampoInvalido> camposInvalidos = new ArrayList<CampoInvalido>();
		if (StringUtil.isEmpty(itemAtual.getDescricao())) {
			camposInvalidos.add(new CampoInvalido("descricao", Motivo.NOTNULL));
		}
		if (this.matriz == null) {
			camposInvalidos.add(new CampoInvalido("matriz", Motivo.NOTNULL));
		}
		if (itemAtual.getTipoAmostra() == null) {
			camposInvalidos
					.add(new CampoInvalido("tipoAmostra", Motivo.NOTNULL));
		}
		if (itemAtual.getNumeroAmostras() == null
				|| itemAtual.getNumeroAmostras().intValue() <= 0) {
			camposInvalidos.add(new CampoInvalido("numeroAmostras",
					Motivo.VALOR_MENOR_IGUAL_ZERO));
		}
		camposInvalidos.addAll(itemAtual.validar());
		ValidationUtils.adicionaErrosNegocio(camposInvalidos, FacesContext
				.getCurrentInstance());

		if (camposInvalidos.isEmpty()) {
			List<AnaliseItem> listaOrdenada = (List<AnaliseItem>) this.analisesExibidas
					.getWrappedData();
			Collections.sort(listaOrdenada, new AnaliseItemComparator());
			this.analisesExibidas.setWrappedData(listaOrdenada);

			manterOrcamentoMB = FacesUtils
					.findManagedBean(ManterOrcamentoMB.class);

			int prazoOrcamento = Integer.parseInt(manterOrcamentoMB.getPrazo());

			if (!manterOrcamentoMB.isPrazoOrcamentoAlterado()
					&& itemAtual.getPrazo() > prazoOrcamento) {
				manterOrcamentoMB.setPrazo(itemAtual.getPrazo() + "");
			}

			if (this.alteracao) {
				FacesUtils
						.addSucessMessage("sucesso.manterItemOrcamento.alterar");
				orcamento.removerItem(indiceItemAlterado);
				orcamento.adicionarItem(indiceItemAlterado, itemAtual);
				this.limpar();
			} else {
				FacesUtils
						.addSucessMessage("sucesso.manterItemOrcamento.incluir");
				orcamento.adicionarItem(itemAtual);
				this.limpar();
			}

		}
	}

	@SuppressWarnings("unchecked")
	public void copiarAnalise() {
		AnaliseItem analiseSelecionavel = (AnaliseItem) this.analisesExibidas
				.getRowData();
		AnaliseContratada analise = analiseSelecionavel.getAnaliseContratada();

		List<AnaliseItem> analisesSelecionaveis = (List<AnaliseItem>) this.analisesExibidas
				.getWrappedData();

		AnaliseItem novoAnaliseItem = AnaliseItemHelper.criarAnaliseItem(
				itemAtual, analise.clone());
		int index = analisesSelecionaveis.indexOf(analiseSelecionavel) + 1;
		analisesSelecionaveis.add(index, novoAnaliseItem);
	}

	@SuppressWarnings("unchecked")
	public void desmarcarTodos() {
		List<AnaliseItem> analisesAtuais = (List<AnaliseItem>) this.analisesExibidas
				.getWrappedData();
		for (AnaliseItem analiseItem : analisesAtuais) {
			if (analiseItem.isSelecionado()) {
				analiseItem.deselecionar();
				this.analisesComEspecificacao.remove(analiseItem);
			}
		}
	}

	public void excluirItemOrcamento() {
		itemAtual = (ItemOrcamento) itens.getRowData();
		if (itemAtual.getId() != null) {
			itemAtual = orcamentoService
					.carregarAnalisesComExecucoesDoItemDeOrcamento(itemAtual);
		}
		if (!itemAtual.isRemocaoPermitida()) {
			FacesUtils.addError("erro.excluirItemOrcamento.amostraAlocada");
			itemAtual = new ItemOrcamentoColetavel();
		} else {
			this.forwardConfirmacao();
		}
	}

	@SuppressWarnings("unchecked")
	public void executarFiltro() {
		List<AnaliseItem> analisesExibidas = (List<AnaliseItem>) this.analisesExibidas
				.getWrappedData();

		if (!filtro.isPreenchido()) {
			analisesExibidas.clear();
			analisesExibidas.addAll(this.todasAnalises);
		} else {
			List<AnaliseItem> analisesFiltradas = filtro
					.aplicarA(todasAnalises);

			Collections.sort(analisesFiltradas, new AnaliseItemComparator());
			analisesExibidas.clear();
			analisesExibidas.addAll(analisesFiltradas);
		}
	}

	public void forwardConfirmacao() {
		ConfirmarOperacaoMB confirmarOperacaoMB = FacesUtils
				.findManagedBean(ConfirmarOperacaoMB.class);

		confirmarOperacaoMB.setOperacaoConfirmavel(this);
		confirmarOperacaoMB.setPerguntaConfirmacao(FacesUtils
				.getMessage("pergunta.confirmacao.remocao.itemOrcamento"));
		confirmarOperacaoMB.setUrlRetorno(this.getUrl());
		FacesUtils.renderPage(confirmarOperacaoMB.getUrl());
	}

	public ListDataModel getAnalisesExibidas() {
		return this.analisesExibidas;
	}

	public ListDataModel getEspecificacoes() {
		return especificacoes;
	}

	public FiltroAnalise getFiltro() {
		return filtro;
	}

	public GrupoFuncional getFiltroGrupoFuncional() {
		return filtroGrupoFuncional;
	}

	public GrupoFuncionalConverter getGrupoFuncionalConverter() {
		return grupoFuncionalConverter;
	}

	public List<SelectItem> getGruposFuncionais() {
		return gruposFuncionais;
	}

	public ItemOrcamento getItemAtual() {
		return itemAtual;
	}
	
	public ItemOrcamentoHelper getItemAtual1() {

		return itemAtual1;
	}	
	
	public Integer getPrazoItemOrcamento() {
		Integer prazoItem = itemAtual.getPrazo();
		int prazoOrcamento = Integer.parseInt(manterOrcamentoMB.getPrazo());

		if (!manterOrcamentoMB.isPrazoOrcamentoAlterado()) {
			return prazoItem;
		} else {
			if (prazoItem > prazoOrcamento) {
				return prazoOrcamento;
			}

			return prazoItem;
		}
	}

	public ListDataModel getItens() {
		return itens;
	}

	public Matriz getMatriz() {
		return matriz;
	}

	public MatrizConverter getMatrizConverter() {
		return matrizConverter;
	}

	public MetodoConverter getMetodosConverter() {
		return metodosConverter;
	}

	public Orcamento getOrcamento() {
		return orcamento;
	}

	public TipoAmostraConverter getTipoAmostraConverter() {
		return tipoAmostraConverter;
	}

	public List<SelectItem> getTipoAmostraItems() {
		return tipoAmostraItems;
	}

	public UnidadeConverter getUnidadeConverter() {
		return unidadeConverter;
	}

	public String getUrl() {
		return new String("/pages/orcamento/manter.jspx");
	}

	@PostConstruct
	public void initialize() {
		this.orcamento = manterOrcamentoMB.getOrcamento();
		itens = new ListDataModel(orcamento.getItemsOrcamento());

		tipoAmostraItems = new ArrayList<SelectItem>();
		tipoAmostraItems.add(FacesUtils.getEmptySelectItem());

		SortedSet<GrupoFuncional> todosGruposFuncionais = ensaioService
				.buscarTodosGruposFuncionais();
		this.gruposFuncionais.add(FacesUtils.getEmptySelectItem());
		for (GrupoFuncional grupoFuncional : todosGruposFuncionais) {
			this.gruposFuncionais.add(new SelectItem(grupoFuncional,
					grupoFuncional.getSigla()));
		}

		// caso o ajuste financeiro do item nao tenha valores definidos (para um
		// novo item de orcamento, por exemplo), seta com valores default
		AjusteFinanceiro ajusteFinanceiro = this.itemAtual
				.getAjusteFinanceiro();
		if (ajusteFinanceiro.getTipoAjusteFinanceiro() == null) {
			ajusteFinanceiro
					.setTipoAjusteFinanceiro(TipoAjusteFinanceiro.DESCONTO);
		}
		if (ajusteFinanceiro.getUnidadeAjusteFinanceiro() == null) {
			ajusteFinanceiro
					.setUnidadeAjusteFinanceiro(UnidadeAjusteFinanceiro.PORCENTAGEM);
		}
	}

	public boolean isAlteracao() {
		return this.alteracao;
	}

	public boolean isExibirPainelAjusteFinanceiro() {
		MenuMB menuMb = FacesUtils.findManagedBean(MenuMB.class);
		return menuMb.getUsuarioLogado().podeAcessarFuncionalidade(
				"ajusteFinanceiroItemOrcamento");
	}

	public boolean isExibirQuestoes() {
		return !this.itemAtual.getQuestionario().getRespostas().isEmpty();
	}

	public void novoItem() {
		this.limpar();
	}

	public void selecionarAnalise() {
		AnaliseItem analiseSelecionada = (AnaliseItem) this.analisesExibidas
				.getRowData();

		// Quando esta selecionando, eh necessario reconsultar a analise pois o
		// metodo pode ter sido modificado pelo usuario
		// Quando esta desmarcando, o proprio objeto AnaliseItem remove a
		// analise do item atual
		if (analiseSelecionada.isSelecionado()) {
			Analise analiseConsultada = analiseService.consultarAnalise(
					analiseSelecionada.getEnsaio(), analiseSelecionada
							.getMetodo(), analiseSelecionada.getMatriz());

			try {
				analiseSelecionada
						.selecionarAnalise(new AnaliseContratada(
								analiseConsultada, analiseConsultada
										.getUnidadePadrao()));
			} catch (AnaliseDuplicadaException e) {
				FacesUtils.addWarn("checkSelecionarAnalise",
						"erro.selecionarAnalise.duplicado");
			}
		}
		// Ao desmarcar analise, se ela estiver relacionada a especificacao, eh
		// necessario removela da lista de analisesComEspecificacao
		else {
			analiseSelecionada.deselecionar();
			if (analiseSelecionada.possueEspecificacao()) {
				analisesComEspecificacao.remove(analiseSelecionada);
				itemAtual.removerAnaliseContratada(analiseSelecionada
						.getAnaliseContratada());
			}
		}
	}

	@SuppressWarnings("unchecked")
	public void selecionarEspecificacao() {
		ObjetoSelecionavel<Especificacao> especificacaoSelecionada = (ObjetoSelecionavel<Especificacao>) especificacoes
				.getRowData();

		if (!especificacaoSelecionada.isSelecionado()) {
			itemAtual.deselecionarEspecificacao(especificacaoSelecionada
					.getObjeto(), getMatriz());

			for (Iterator<AnaliseItem> it = analisesComEspecificacao.iterator(); it
					.hasNext();) {
				AnaliseItem item = it.next();

				if (item.getAnalisesEspecificadas().size() == 1
						&& item.getAnalisesEspecificadas().get(0)
								.getEspecificacao().equals(
										especificacaoSelecionada.getObjeto())) {
					item.deselecionar();
					it.remove();
				}
			}

			Collections.sort(todasAnalises, new AnaliseItemComparator());

			List<AnaliseItem> analisesFiltradas = filtro
					.aplicarA(todasAnalises);

			List<AnaliseItem> analisesExibidas = (List<AnaliseItem>) this.analisesExibidas
					.getWrappedData();
			analisesExibidas.clear();
			analisesExibidas.addAll(analisesFiltradas);
		} else {
			List<Pergunta> perguntasEspecificacao = orcamentoService
					.consultarPerguntasOrcamento(getMatriz(),
							especificacaoSelecionada.getObjeto());
			itemAtual.getQuestionario().adicionarPerguntas(
					perguntasEspecificacao);

			List<AnaliseItem> novosItemsDeEspecificacao = AnaliseItemHelper
					.adicionarAnaliseItemPorEspecificacao(
							especificacaoSelecionada.getObjeto(), itemAtual,
							analisesComEspecificacao, this.getMatriz());
			todasAnalises.removeAll(analisesComEspecificacao);

			analisesComEspecificacao.addAll(novosItemsDeEspecificacao);
			todasAnalises.addAll(0, analisesComEspecificacao);
			Collections.sort(todasAnalises, new AnaliseItemComparator());

			List<AnaliseItem> analisesFiltradas = filtro
					.aplicarA(todasAnalises);

			List<AnaliseItem> analisesExibidas = (List<AnaliseItem>) this.analisesExibidas
					.getWrappedData();
			analisesExibidas.clear();
			analisesExibidas.addAll(analisesFiltradas);
		}
	}

	public void selecionarMatriz() {
		if (matriz == null) {
			this.analisesExibidas = new ListDataModel(
					new ArrayList<AnaliseItem>());
			this.especificacoes = new ListDataModel();
			this.todasAnalises = new ArrayList<AnaliseItem>();
			itemAtual.getQuestionario().limparPerguntasMatriz();
			itemAtual.setQuestionario(new Questionario());
			itemAtual.setNumeroAmostras(0);
			itemAtual.limparAnalisesContratadas();
			tipoAmostraItems.add(FacesUtils.getEmptySelectItem());
			this.analisesComEspecificacao.clear();
			return;
		}

		// Remove todas as antigas analisesContratada
		this.itemAtual.getAnalisesContratadas().clear();

		// Prepara os elementos da tela que dependem da matriz
		this.carregarElementosConformeMatrizSelecionada();
	}

	public void setAnalises(ListDataModel configuracaoesEnsaio) {
		this.analisesExibidas = configuracaoesEnsaio;
	}

	public void setEspecificacoes(ListDataModel especificacoes) {
		this.especificacoes = especificacoes;
	}

	public void setFiltro(FiltroAnalise filtro) {
		this.filtro = filtro;
	}

	public void setFiltroGrupoFuncional(GrupoFuncional filtroGrupoFuncional) {
		this.filtroGrupoFuncional = filtroGrupoFuncional;
	}

	public void setGruposFuncionais(List<SelectItem> gruposFuncionais) {
		this.gruposFuncionais = gruposFuncionais;
	}

	public void setItemAtual(ItemOrcamento itemAtual) {
		this.itemAtual = itemAtual;
	}
	
	public void setItemAtual1(ItemOrcamentoHelper itemAtual1) {
//	public void setItemAtual1(PrecoPorMetodoServiceBean itemAtual1) {
	
	
		this.itemAtual1 = itemAtual1;
	}

	
	public void setItens(ListDataModel itens) {
		this.itens = itens;
	}

	public void setMatriz(Matriz matriz) {
		this.matriz = matriz;
	}

	public void setOperacaoConfirmada(boolean operacaoConfirmada) {
		if (operacaoConfirmada) {
			orcamento.removerItem(itemAtual);
			this.limpar();
			FacesUtils.addSucessMessage("sucesso.manterItemOrcamento.remover");
		} else {
			itemAtual = new ItemOrcamentoColetavel();
			FacesUtils.renderPage(this.getUrl());
		}
	}

	public void setOrcamento(Orcamento orcamento) {
		this.orcamento = orcamento;
	}

	public void setTipoAmostraItems(List<SelectItem> tipoAmostraItems) {
		this.tipoAmostraItems = tipoAmostraItems;
	}

	public void trocarMetodo() {
		AnaliseItem analiseAtual = (AnaliseItem) this.analisesExibidas
				.getRowData();

		Analise analiseNova = analiseService.consultarAnalise(analiseAtual
				.getEnsaio(), analiseAtual.getMetodo(), analiseAtual
				.getMatriz());
		AnaliseContratada analiseContratada = new AnaliseContratada(
				analiseNova, analiseNova.getUnidadePadrao());

		try {
			if (analiseAtual.isSelecionado()) {
				analiseAtual.alterarAnalise(analiseContratada);
			} else {
				analiseAtual.selecionarAnalise(analiseContratada);
			}
		} catch (AnaliseDuplicadaException e) {
			FacesUtils.addWarn("checkSelecionarAnalise",
					"erro.selecionarAnalise.duplicado");
		}
	}

	@SuppressWarnings("unchecked")
	private void carregarAnalisesSelecionadas() {
		List<AnaliseContratada> analisesContratadas = itemAtual
				.getAnalisesContratadas();

		for (AnaliseContratada analiseContratada : analisesContratadas) {
			AnaliseItem analiseExistente = AnaliseItemHelper.criarAnaliseItem(
					itemAtual, analiseContratada);
			analiseExistente.setEnsaiosAlocados(analiseContratada
					.possuePeloMenosUmEnsaioComExecucaoIniciada());
			analiseExistente.setSelecionado(true);

			if (analiseContratada.isEspecificada()) {
				analiseExistente.setAnalisesEspecificadas(analiseContratada
						.getAnalisesEspecificadas());
				analisesComEspecificacao.add(analiseExistente);
			} else {
				todasAnalises.add(analiseExistente);
			}
		}

		todasAnalises.addAll(0, analisesComEspecificacao);
		Collections.sort(todasAnalises, new AnaliseItemComparator());

		List<AnaliseItem> analisesExibidas = (List<AnaliseItem>) this.analisesExibidas
				.getWrappedData();
		analisesExibidas.clear();
		analisesExibidas.addAll(todasAnalises);
	}

	private void carregarElementosConformeMatrizSelecionada() {
		this.matriz = ensaioService.carregaTiposAmostra(this.matriz);
		tipoAmostraItems = new ArrayList<SelectItem>();
		tipoAmostraItems.add(FacesUtils.getEmptySelectItem());
		for (TipoAmostra tipoAmostra : matriz.getTiposAmostra()) {
			tipoAmostraItems.add(new SelectItem(tipoAmostra, tipoAmostra
					.getNome()));
		}

		ArrayList<ObjetoSelecionavel<Especificacao>> especs = new ArrayList<ObjetoSelecionavel<Especificacao>>();
		Set<Especificacao> especificacoesDaMatriz = analiseService
				.buscarEspecificacoesPorMatriz(matriz);
		for (Especificacao especificacao : especificacoesDaMatriz) {
			ObjetoSelecionavel<Especificacao> objSelecionavel = new ObjetoSelecionavel<Especificacao>(
					especificacao);
			especs.add(objSelecionavel);
		}
		this.especificacoes = new ListDataModel(especs);

		this.todasAnalises = new ArrayList<AnaliseItem>();

		// log para investigação de problemas da CR#173
		LOG.debug("Realizando busca de análises para matriz ({}) {}", matriz
				.getId(), matriz.getNome());

		Set<Analise> analisesConsultadas = analiseService
				.buscarAnalisesPadraoPorMatriz(matriz);
		for (Analise analise : analisesConsultadas) {
			AnaliseContratada analiseContratada = new AnaliseContratada(analise);
			AnaliseItem analiseItem = AnaliseItemHelper.criarAnaliseItem(
					itemAtual, analiseContratada);
			this.todasAnalises.add(analiseItem);

			// log para investigação de problemas da CR#173
			LOG.debug("[MATRIZ {} - {}] Método: {} - {} | Ensaio: {} - {}",
					new Object[] { matriz.getId(), matriz.getNome(),
							analiseItem.getMetodo().getId(),
							analiseItem.getMetodo().getNome(),
							analiseItem.getEnsaio().getId(),
							analiseItem.getEnsaio().getNome() });

		}
		Collections.sort(this.todasAnalises, new AnaliseItemComparator());
		this.analisesExibidas = new ListDataModel(new ArrayList<AnaliseItem>(
				this.todasAnalises));

		List<Pergunta> perguntas = orcamentoService
				.consultarPerguntasOrcamento(matriz, null);
		if (!this.alteracao) {
			Questionario questionario = itemAtual.getQuestionario();
			questionario.limparPerguntasMatriz();
			questionario.adicionarPerguntas(perguntas);
		}
	}

	@SuppressWarnings("unchecked")
	private void limpar() {
		this.itemAtual = new ItemOrcamentoColetavel();
		this.alteracao = false;
		this.matriz = null;
		this.tipoAmostraItems = new ArrayList<SelectItem>();
		this.tipoAmostraItems.add(FacesUtils.getEmptySelectItem());
		((List) this.especificacoes.getWrappedData()).clear();
		((List) this.analisesExibidas.getWrappedData()).clear();
		this.analisesComEspecificacao.clear();
		this.filtro = new FiltroAnalise();
	}

	private void prepararAlteracaoItem() {
		this.alteracao = true;
		this.analisesComEspecificacao.clear();
		this.itemAtual = orcamento.getItemsOrcamento().get(indiceItemAlterado);
		this.matriz = this.itemAtual.getMatriz();
		if (itemAtual.getId() != null) {
			this.itemAtual = orcamentoService
					.carregarRelacionamentosItem(itemAtual);
		}

		this.carregarElementosConformeMatrizSelecionada();
		this.carregarAnalisesSelecionadas();
		this.selecionarEspecificacoesParaAlteracao();
	}

	@SuppressWarnings("unchecked")
	private void selecionarEspecificacoesParaAlteracao() {
		List<ObjetoSelecionavel<Especificacao>> especificacoesSelecionaveis = (List<ObjetoSelecionavel<Especificacao>>) this.especificacoes
				.getWrappedData();

		for (ObjetoSelecionavel<Especificacao> especificacaoSelecionavel : especificacoesSelecionaveis) {
			if (itemAtual.getEspecificacoes().contains(
					especificacaoSelecionavel.getObjeto())) {
				especificacaoSelecionavel.setSelecionado(true);
			}
		}
	}

	public void consultarMatriz() {
		this.auxilioPreenchimentoMatriz();
	}

	private void auxilioPreenchimentoMatriz() {
		ConsultarMatrizMB consultarMatrizMB = FacesUtils
				.findManagedBean(ConsultarMatrizMB.class);

		consultarMatrizMB.setAuxilioPreenchimento(true);
		consultarMatrizMB.setMbRetorno(this);

		FacesUtils.renderPage(consultarMatrizMB.getUrl());
	}

	public void setObjetoSelecionado(Object objetoSelecionado) {
		this.matriz = (Matriz) objetoSelecionado;

		this.selecionarMatriz();
	}
}

Cara isto ocorre devido ao fluxo de vida do JSF…
Recomendo que você de uma aprofundada ai neste framework antes de tentar manter este código…

Ok, vou dar uma olhada.

mas meu problema esta lentidao na seguinte rotina :

									<div class="collCenter">
										<h:commandLink rendered="#{ConsultarMatrizMB.auxilioPreenchimento}"
											action="#{ConsultarMatrizMB.selecionarMatriz}"
											title="#{messages['label.selecionar']}" styleClass="imgLink">
											<h:graphicImage id="imgSelecione" url="/assets/images/select-button.png" />
										</h:commandLink>

**********************************************************************

public class ConsultarMatrizMB extends AuxilioPreenchimento implements PageMB {

	private static final long serialVersionUID = 2313870392024583411L;

	@EJB(name = "AnaliseServiceBean/local")
	private AnaliseServiceLocal analiseService;

	private GrupoMatriz grupoMatriz;
	private GrupoMatriz categoriaGrupoMatriz;

	private List<SelectItem> gruposMatrizItems;
	private List<SelectItem> categoriasGrupoMatrizItems;
	private String nomeMatriz;

	private GrupoMatrizConverter grupoMatrizConverter = new GrupoMatrizConverter();

	public void selecionarMatriz() {
		Matriz matrizSelecionada = (Matriz) matrizes.getRowData();
		this.getMbRetorno().setObjetoSelecionado(matrizSelecionada);
		FacesUtils.renderPage(this.getMbRetorno().getUrl());
	}

estou dando uma olhada no Log e apresentou o seguinte :


2012-11-22 09:50:16,771 DEBUG [org.hibernate.hql.ast.ErrorCounter] throwQueryException() : no errors
2012-11-22 09:50:16,771 DEBUG [org.hibernate.hql.ast.QueryTranslatorImpl] HQL: select a.metodo from br.com.cqa.lims.analise.Analise a where a.ensaio = :ensaio and a.matriz = :matriz 
2012-11-22 09:50:16,771 DEBUG [org.hibernate.hql.ast.QueryTranslatorImpl] SQL: select metodo1_.id as id25_, metodo1_.nome as nome25_, metodo1_.metodologia_id as metodolo4_25_, metodo1_.valor as valor25_ from Analise analise0_ inner join Metodo metodo1_ on analise0_.metodo_id=metodo1_.id where analise0_.ensaio_id=? and analise0_.matriz_id=?
2012-11-22 09:50:16,771 DEBUG [org.hibernate.hql.ast.ErrorCounter] throwQueryException() : no errors
2012-11-22 09:50:16,781 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
2012-11-22 09:50:16,781 DEBUG [org.hibernate.jdbc.ConnectionManager] opening JDBC connection
2012-11-22 09:50:16,781 DEBUG [org.hibernate.SQL] select metodo1_.id as id25_, metodo1_.nome as nome25_, metodo1_.metodologia_id as metodolo4_25_, metodo1_.valor as valor25_ from Analise analise0_ inner join Metodo metodo1_ on analise0_.metodo_id=metodo1_.id where analise0_.ensaio_id=? and analise0_.matriz_id=?
2012-11-22 09:50:16,781 INFO  [STDOUT] Hibernate: select metodo1_.id as id25_, metodo1_.nome as nome25_, metodo1_.metodologia_id as metodolo4_25_, metodo1_.valor as valor25_ from Analise analise0_ inner join Metodo metodo1_ on analise0_.metodo_id=metodo1_.id where analise0_.ensaio_id=? and analise0_.matriz_id=?
2012-11-22 09:50:16,781 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open ResultSet (open ResultSets: 0, globally: 0)
2012-11-22 09:50:16,781 DEBUG [org.hibernate.loader.Loader] result row: EntityKey[br.com.cqa.lims.analise.Metodo#11981]
2012-11-22 09:50:16,781 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close ResultSet (open ResultSets: 1, globally: 1)
2012-11-22 09:50:16,781 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
2012-11-22 09:50:16,781 DEBUG [org.hibernate.jdbc.ConnectionManager] aggressively releasing JDBC connection
2012-11-22 09:50:16,781 DEBUG [org.hibernate.jdbc.ConnectionManager] releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: 0)]
2012-11-22 09:50:16,781 DEBUG [org.hibernate.engine.TwoPhaseLoad] resolving associations for [br.com.cqa.lims.analise.Metodo#11981]
2012-11-22 09:50:16,781 DEBUG [org.hibernate.cache.EhCache] key: br.com.cqa.lims.analise.Metodologia#1270
2012-11-22 09:50:16,781 DEBUG [org.hibernate.engine.TwoPhaseLoad] adding entity to second-level cache: [br.com.cqa.lims.analise.Metodo#11981]
2012-11-22 09:50:16,781 DEBUG [org.hibernate.cache.EhCache] key: br.com.cqa.lims.analise.Metodo#11981
2012-11-22 09:50:16,781 DEBUG [org.hibernate.engine.TwoPhaseLoad] done materializing entity [br.com.cqa.lims.analise.Metodo#11981]
2012-11-22 09:50:16,781 DEBUG [org.hibernate.engine.StatefulPersistenceContext] initializing non-lazy collections
2012-11-22 09:50:16,781 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] processing flush-time cascades
2012-11-22 09:50:16,781 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] dirty checking collections
2012-11-22 09:50:16,781 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 insertions, 0 updates, 0 deletions to 2 objects
2012-11-22 09:50:16,781 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 (re)creations, 0 updates, 0 removals to 0 collections
2012-11-22 09:50:16,781 DEBUG [org.hibernate.pretty.Printer] listing entities:
2012-11-22 09:50:16,781 DEBUG [org.hibernate.pretty.Printer] br.com.cqa.lims.analise.Metodologia{bibliografia=AMERICAN PUBLIC HEALTH ASSOCIATION, AMERICAN WORKS ASSOCIATION, WATER ENVIRONMENT FEDERATION. Standard Methods for the Examination of Water and Wastewater, 22nd ed. Washington, DC: American Public Health Association, 2012., id=1270, nome=SM, origem=Método Oficial, descricao=Standard Methods}
2012-11-22 09:50:16,781 DEBUG [org.hibernate.pretty.Printer] br.com.cqa.lims.analise.Metodo{metodologia=br.com.cqa.lims.analise.Metodologia#1270, id=11981, preco=component[valor]{valor=0.00}, nome=SM 4500H+ B}
2012-11-22 09:50:16,781 DEBUG [org.hibernate.jdbc.ConnectionManager] aggressively releasing JDBC connection
2012-11-22 09:50:16,781 DEBUG [org.jboss.ejb3.entity.ManagedEntityManagerFactory] ************** closing entity managersession **************
2012-11-22 09:50:16,791 DEBUG [br.com.cqa.lims.web.orcamento.ManterItemOrcamentoMB] [MATRIZ 496 - Água Bruta (Superficial, Subterrânea) / Tratada / Consumo Humano] Método: 11981 - SM 4500H+ B | Ensaio: 11985 - pH a 25°C
2012-11-22 09:50:16,791 DEBUG [org.hibernate.impl.SessionImpl] opened session at timestamp: 5544284228775936
2012-11-22 09:50:16,791 DEBUG [org.hibernate.ejb.AbstractEntityManagerImpl] Looking for a JTA transaction to join
2012-11-22 09:50:16,791 DEBUG [org.hibernate.jdbc.JDBCContext] successfully registered Synchronization
2012-11-22 09:50:16,791 DEBUG [org.hibernate.ejb.AbstractEntityManagerImpl] Looking for a JTA transaction to join
2012-11-22 09:50:16,791 DEBUG [org.hibernate.ejb.AbstractEntityManagerImpl] Transaction already joined
2012-11-22 09:50:16,791 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
2012-11-22 09:50:16,791 DEBUG [org.hibernate.jdbc.ConnectionManager] opening JDBC connection
2012-11-22 09:50:16,791 DEBUG [org.hibernate.SQL] select metodo1_.id as id25_, metodo1_.nome as nome25_, metodo1_.metodologia_id as metodolo4_25_, metodo1_.valor as valor25_ from Analise analise0_ inner join Metodo metodo1_ on analise0_.metodo_id=metodo1_.id where analise0_.ensaio_id=? and analise0_.matriz_id=?
2012-11-22 09:50:16,791 INFO  [STDOUT] Hibernate: select metodo1_.id as id25_, metodo1_.nome as nome25_, metodo1_.metodologia_id as metodolo4_25_, metodo1_.valor as valor25_ from Analise analise0_ inner join Metodo metodo1_ on analise0_.metodo_id=metodo1_.id where analise0_.ensaio_id=? and analise0_.matriz_id=?
2012-11-22 09:50:16,791 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open ResultSet (open ResultSets: 0, globally: 0)
2012-11-22 09:50:16,791 DEBUG [org.hibernate.loader.Loader] result row: EntityKey[br.com.cqa.lims.analise.Metodo#11575]
2012-11-22 09:50:16,791 DEBUG [org.hibernate.loader.Loader] result row: EntityKey[br.com.cqa.lims.analise.Metodo#2866]
2012-11-22 09:50:16,791 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close ResultSet (open ResultSets: 1, globally: 1)
2012-11-22 09:50:16,791 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
2012-11-22 09:50:16,791 DEBUG [org.hibernate.jdbc.ConnectionManager] aggressively releasing JDBC connection
2012-11-22 09:50:16,791 DEBUG [org.hibernate.jdbc.ConnectionManager] releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: 0)]
2012-11-22 09:50:16,791 DEBUG [org.hibernate.engine.TwoPhaseLoad] resolving associations for [br.com.cqa.lims.analise.Metodo#11575]
2012-11-22 09:50:16,791 DEBUG [org.hibernate.cache.EhCache] key: br.com.cqa.lims.analise.Metodologia#1254
2012-11-22 09:50:16,791 DEBUG [org.hibernate.engine.TwoPhaseLoad] adding entity to second-level cache: [br.com.cqa.lims.analise.Metodo#11575]
2012-11-22 09:50:16,791 DEBUG [org.hibernate.cache.EhCache] key: br.com.cqa.lims.analise.Metodo#11575
2012-11-22 09:50:16,791 DEBUG [org.hibernate.engine.TwoPhaseLoad] done materializing entity [br.com.cqa.lims.analise.Metodo#11575]
2012-11-22 09:50:16,791 DEBUG [org.hibernate.engine.TwoPhaseLoad] resolving associations for [br.com.cqa.lims.analise.Metodo#2866]
2012-11-22 09:50:16,791 DEBUG [org.hibernate.cache.EhCache] key: br.com.cqa.lims.analise.Metodologia#1252
2012-11-22 09:50:16,791 DEBUG [org.hibernate.cache.EhCache] Element for br.com.cqa.lims.analise.Metodologia#1252 is null
2012-11-22 09:50:16,791 DEBUG [org.hibernate.loader.Loader] loading entity: [br.com.cqa.lims.analise.Metodologia#1252]
2012-11-22 09:50:16,791 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
2012-11-22 09:50:16,791 DEBUG [org.hibernate.jdbc.ConnectionManager] opening JDBC connection
2012-11-22 09:50:16,791 DEBUG [org.hibernate.SQL] select metodologi0_.id as id26_0_, metodologi0_.nome as nome26_0_, metodologi0_.descricao as descricao26_0_, metodologi0_.origem as origem26_0_, metodologi0_.bibliografia as bibliogr5_26_0_ from Metodologia metodologi0_ where metodologi0_.id=?
2012-11-22 09:50:16,791 INFO  [STDOUT] Hibernate: select metodologi0_.id as id26_0_, metodologi0_.nome as nome26_0_, metodologi0_.descricao as descricao26_0_, metodologi0_.origem as origem26_0_, metodologi0_.bibliografia as bibliogr5_26_0_ from Metodologia metodologi0_ where metodologi0_.id=?
2012-11-22 09:50:16,791 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open ResultSet (open ResultSets: 0, globally: 0)
2012-11-22 09:50:16,791 DEBUG [org.hibernate.loader.Loader] result row: EntityKey[br.com.cqa.lims.analise.Metodologia#1252]
2012-11-22 09:50:16,791 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close ResultSet (open ResultSets: 1, globally: 1)
2012-11-22 09:50:16,791 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
2012-11-22 09:50:16,791 DEBUG [org.hibernate.jdbc.ConnectionManager] aggressively releasing JDBC connection
2012-11-22 09:50:16,791 DEBUG [org.hibernate.jdbc.ConnectionManager] releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: 0)]
2012-11-22 09:50:16,791 DEBUG [org.hibernate.engine.TwoPhaseLoad] resolving associations for [br.com.cqa.lims.analise.Metodologia#1252]
2012-11-22 09:50:16,791 DEBUG [org.hibernate.engine.TwoPhaseLoad] adding entity to second-level cache: [br.com.cqa.lims.analise.Metodologia#1252]
2012-11-22 09:50:16,791 DEBUG [org.hibernate.cache.EhCache] key: br.com.cqa.lims.analise.Metodologia#1252
2012-11-22 09:50:16,791 DEBUG [org.hibernate.cache.EhCache] Element for br.com.cqa.lims.analise.Metodologia#1252 is null
2012-11-22 09:50:16,791 DEBUG [org.hibernate.engine.TwoPhaseLoad] done materializing entity [br.com.cqa.lims.analise.Metodologia#1252]
2012-11-22 09:50:16,791 DEBUG [org.hibernate.loader.Loader] done entity load
2012-11-22 09:50:16,791 DEBUG [org.hibernate.engine.TwoPhaseLoad] adding entity to second-level cache: [br.com.cqa.lims.analise.Metodo#2866]
2012-11-22 09:50:16,791 DEBUG [org.hibernate.cache.EhCache] key: br.com.cqa.lims.analise.Metodo#2866
2012-11-22 09:50:16,791 DEBUG [org.hibernate.cache.EhCache] Element for br.com.cqa.lims.analise.Metodo#2866 is null
2012-11-22 09:50:16,791 DEBUG [org.hibernate.engine.TwoPhaseLoad] done materializing entity [br.com.cqa.lims.analise.Metodo#2866]
2012-11-22 09:50:16,791 DEBUG [org.hibernate.engine.StatefulPersistenceContext] initializing non-lazy collections
2012-11-22 09:50:16,791 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] processing flush-time cascades
2012-11-22 09:50:16,791 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] dirty checking collections
2012-11-22 09:50:16,791 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 insertions, 0 updates, 0 deletions to 4 objects
2012-11-22 09:50:16,791 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 (re)creations, 0 updates, 0 removals to 0 collections
2012-11-22 09:50:16,791 DEBUG [org.hibernate.pretty.Printer] listing entities:
2012-11-22 09:50:16,791 DEBUG [org.hibernate.pretty.Printer] br.com.cqa.lims.analise.Metodologia{bibliografia=INSTITUTO NACIONAL DA FARMÁCIA E DO MEDICAMENTO: Farmacopéia Portuguesa. VII edição. Lisboa, 2002., id=1252, nome=FP, origem=Método Oficial, descricao=Farmacopéia Portuguesa VII}
2012-11-22 09:50:16,791 DEBUG [org.hibernate.pretty.Printer] br.com.cqa.lims.analise.Metodo{metodologia=br.com.cqa.lims.analise.Metodologia#1252, id=2866, preco=component[valor]{valor=0.00}, nome=FP p.749}
2012-11-22 09:50:16,791 DEBUG [org.hibernate.pretty.Printer] br.com.cqa.lims.analise.Metodo{metodologia=br.com.cqa.lims.analise.Metodologia#1254, id=11575, preco=component[valor]{valor=0.00}, nome=IAL 199 IV}
2012-11-22 09:50:16,791 DEBUG [org.hibernate.pretty.Printer] br.com.cqa.lims.analise.Metodologia{bibliografia=INSTITUTO ADOLFO LUTZ. Métodos físico-químicos para análise de alimentos. 4. ed. Brasília: Ministério da Saúde, 2005., id=1254, nome=IAL, origem=Método Oficial, descricao=Instituto Adolfo Lutz - Alimentos}
2012-11-22 09:50:16,791 DEBUG [org.hibernate.jdbc.ConnectionManager] aggressively releasing JDBC connection
2012-11-22 09:50:16,791 DEBUG [org.jboss.ejb3.entity.ManagedEntityManagerFactory] ************** closing entity managersession **************
2012-11-22 09:50:16,791 DEBUG [br.com.cqa.lims.web.orcamento.ManterItemOrcamentoMB] [MATRIZ 496 - Água Bruta (Superficial, Subterrânea) / Tratada / Consumo Humano] Método: 11575 - IAL 199 IV | Ensaio: 13891 - Substâncias Oxidáveis
2012-11-22 09:50:16,801 DEBUG [org.hibernate.impl.SessionImpl] opened session at timestamp: 5544284228816896
2012-11-22 09:50:16,801 DEBUG [org.hibernate.ejb.AbstractEntityManagerImpl] Looking for a JTA transaction to join
2012-11-22 09:50:16,801 DEBUG [org.hibernate.jdbc.JDBCContext] successfully registered Synchronization
2012-11-22 09:50:16,801 DEBUG [org.hibernate.ejb.AbstractEntityManagerImpl] Looking for a JTA transaction to join
2012-11-22 09:50:16,801 DEBUG [org.hibernate.ejb.AbstractEntityManagerImpl] Transaction already joined
2012-11-22 09:50:16,801 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
2012-11-22 09:50:16,801 DEBUG [org.hibernate.jdbc.ConnectionManager] opening JDBC connection
2012-11-22 09:50:16,801 DEBUG [org.hibernate.SQL] select metodo1_.id as id25_, metodo1_.nome as nome25_, metodo1_.metodologia_id as metodolo4_25_, metodo1_.valor as valor25_ from Analise analise0_ inner join Metodo metodo1_ on analise0_.metodo_id=metodo1_.id where analise0_.ensaio_id=? and analise0_.matriz_id=?
2012-11-22 09:50:16,801 INFO  [STDOUT] Hibernate: select metodo1_.id as id25_, metodo1_.nome as nome25_, metodo1_.metodologia_id as metodolo4_25_, metodo1_.valor as valor25_ from Analise analise0_ inner join Metodo metodo1_ on analise0_.metodo_id=metodo1_.id where analise0_.ensaio_id=? and analise0_.matriz_id=?
2012-11-22 09:50:16,801 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open ResultSet (open ResultSets: 0, globally: 0)
2012-11-22 09:50:16,801 DEBUG [org.hibernate.loader.Loader] result row: EntityKey[br.com.cqa.lims.analise.Metodo#4688]
2012-11-22 09:50:16,801 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close ResultSet (open ResultSets: 1, globally: 1)
2012-11-22 09:50:16,801 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
2012-11-22 09:50:16,801 DEBUG [org.hibernate.jdbc.ConnectionManager] aggressively releasing JDBC connection
2012-11-22 09:50:16,801 DEBUG [org.hibernate.jdbc.ConnectionManager] releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: 0)]
2012-11-22 09:50:16,801 DEBUG [org.hibernate.engine.TwoPhaseLoad] resolving associations for [br.com.cqa.lims.analise.Metodo#4688]
2012-11-22 09:50:16,801 DEBUG [org.hibernate.cache.EhCache] key: br.com.cqa.lims.analise.Metodologia#1270
2012-11-22 09:50:16,801 DEBUG [org.hibernate.engine.TwoPhaseLoad] adding entity to second-level cache: [br.com.cqa.lims.analise.Metodo#4688]
2012-11-22 09:50:16,801 DEBUG [org.hibernate.cache.EhCache] key: br.com.cqa.lims.analise.Metodo#4688
2012-11-22 09:50:16,801 DEBUG [org.hibernate.engine.TwoPhaseLoad] done materializing entity [br.com.cqa.lims.analise.Metodo#4688]
2012-11-22 09:50:16,801 DEBUG [org.hibernate.engine.StatefulPersistenceContext] initializing non-lazy collections
2012-11-22 09:50:16,801 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] processing flush-time cascades
2012-11-22 09:50:16,801 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] dirty checking collections
2012-11-22 09:50:16,801 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 insertions, 0 updates, 0 deletions to 2 objects
2012-11-22 09:50:16,801 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 (re)creations, 0 updates, 0 removals to 0 collections
2012-11-22 09:50:16,801 DEBUG [org.hibernate.pretty.Printer] listing entities:
2012-11-22 09:50:16,801 DEBUG [org.hibernate.pretty.Printer] br.com.cqa.lims.analise.Metodo{metodologia=br.com.cqa.lims.analise.Metodologia#1270, id=4688, preco=component[valor]{valor=0.00}, nome=SM 2110}
2012-11-22 09:50:16,801 DEBUG [org.hibernate.pretty.Printer] br.com.cqa.lims.analise.Metodologia{bibliografia=AMERICAN PUBLIC HEALTH ASSOCIATION, AMERICAN WORKS ASSOCIATION, WATER ENVIRONMENT FEDERATION. Standard Methods for the Examination of Water and Wastewater, 22nd ed. Washington, DC: American Public Health Association, 2012., id=1270, nome=SM, origem=Método Oficial, descricao=Standard Methods}
2012-11-22 09:50:16,801 DEBUG [org.hibernate.jdbc.ConnectionManager] aggressively releasing JDBC connection
2012-11-22 09:50:16,801 DEBUG [org.jboss.ejb3.entity.ManagedEntityManagerFactory] ************** closing entity managersession **************


esse bloco se repetiu varias vezes, provocando uma certa lentidão no sistema.

Alguem pode me dar uma luz ???


Cara, evita clocar esse tanto de código. Fica até dificil de ler ou responder…

O JSF funciona assim mesmo, você não deve colocar acesso ao banco diretamente em um get a não ser que você faça lazy:
if(car == null){
car = // get from database
}

return car;