Problema ao persistir Objeto no banco

Pessoal estou tentanto persistir um Objeto no banco é esta gerando um erro de que desconheço, a principio pensei que fosse mapeamendo do hibernet, mas refiz novamente e não adiantou.

Segue Bean

@javax.faces.bean.ManagedBean(name = "acaoFiscalBean")
@SessionScoped
public class AcaoFiscalBean {

//Persiste Objeto no banco
public String salvar() {
		AcaoFiscalRN acaoFiscalRN = new AcaoFiscalRN();
		Calendar cal = GregorianCalendar.getInstance();

		acaoFiscal.setFiscalresponsavel(consultaAgenteFiscalProcesso
				.getAgenteFiscal());
		acaoFiscal.setDataHoraInicioAcao(data);
		acaoFiscal.setMotivacao(motivacao);
		acaoFiscal.setEstado("ANDAMENTO");
		acaoFiscal.setPrazo(MammonUtil.addDias(data, 120));
		acaoFiscal.setPessoa(contribuinte.getIdPessoa().intValue());
		acaoFiscal.setFk_processo(consultaAgenteFiscalProcesso.getFk_processo());
		consultaAgenteFiscalProcesso.setEstado_processo(Constant.PROCESSO_ESTADO_FISCALIZACAO);
		acaoFiscal.setNumero(geraNumeroAcaoFiscal());
		acaoFiscalRN.salvar(acaoFiscal);
		return "";
	}

Segue XHTML

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- Cadastro de Infrações
version 10/10/2011 Marcio v1.0 Versão inicial -->

<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.prime.com.tr/ui"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:c="http://java.sun.com/jsp/jstl/core">

<ui:composition template="/templates/common.xhtml">
	<ui:define name="title">Mammon - Ação Fiscal</ui:define>
	<ui:define name="conteudo">
		<h2>Ação Fiscal</h2>

		<h:form id="acaofiscal">
			<p:growl id="mgs" autoUpdate="true" />

			<div class="campo-grupo">
				<h3>
					<h:outputLabel value="Número Ação Fiscal:" />
				</h3>
			</div>

			<div class="campo-grupo">
				<h3>
					<h:outputLabel value="Situação:" style="margin-left: 350px" />
				</h3>
			</div>
			<div style="clear: both;"></div>

			<div class="campo-simples">
				<h3>
					<h:outputLabel
						value="Número do processo: #{acaoFiscalBean.consultaAgenteFiscalProcesso.numero_processo}"
						style="text-align:left" />
				</h3>

			</div>
			<div class="campo-simples">
				<p:fieldset id="acfiscal" legend="Fiscal Participante"
					toggleable="true">
					<div class="campo-grupo">
						<h:outputLabel value="Matrícula" />
						<p:inputText id="mat"
							value="#{acaoFiscalBean.agenteFiscal.codigoFuncional}" size="15"
							readonly="true">
						</p:inputText>

					</div>

					<div class="campo-grupo">
						<h:outputLabel value="Nome" />
						<p:selectOneMenu id="nome" value="#{acaoFiscalBean.agenteFiscal}"
							converter="fiscalConversor" style="width:500px" immediate="true">
							<f:selectItem itemLabel="SELECIONE UM FISCAL" itemValue=""
								noSelectionOption="true" />
							<f:selectItems value="#{acaoFiscalBean.listaAgenteFiscais}"
								var="lista" itemValue="#{lista}" itemLabel="#{lista.nome}" />
							<p:ajax event="change"
								update="acaofiscal:mat, acaofiscal:tel, acaofiscal:mail " />
						</p:selectOneMenu>
					</div>
					<div style="clear: both;"></div>

					<div class="campo-grupo">
						<h:outputLabel value="Telefone" />
						<p:inputMask id="tel"
							value="#{acaoFiscalBean.agenteFiscal.telefone}" readonly="true"
							size="15" mask="(99) 9999-9999" />
					</div>
					<div class="campo-grupo">
						<h:outputLabel value="E-mail" />
						<p:inputText id="mail"
							value="#{acaoFiscalBean.agenteFiscal.email}" size="80"
							readonly="true" />
					</div>

					<div style="clear: both;"></div>

					<div class="campo-simple">
						<p:commandButton value="Incluir"
							action="#{acaoFiscalBean.inserirFiscal}"
							update="tabela, acfiscal" ajax="false" title="Incluir de fiscal participante"/>
					</div>


					<h:outputLabel
						value="Nome: #{acaoFiscalBean.consultaAgenteFiscalProcesso.agenteFiscal.nome}" />

					<div class="campo-simples">
						<p:dataTable id="tabela" var="fiscal"
							emptyMessage="NÃO HÁ FISCAL PARTICIPANTE CADASTRADO"
							value="#{acaoFiscalBean.acaoFiscal.fiscalparticipante}">

							<p:column style="width:90px; text-align:left">
								<f:facet name="header">Fiscal</f:facet>
								<h:outputText value="#{fiscal.nome}" />
								<h:outputText value="#{resp.nome}" />
							</p:column>

							<p:column style="width:30px; text-align:center">
								<f:facet name="header">Função</f:facet>
								<h:outputText value="#{fiscal.cargo}" />
							</p:column>

							<p:column style="width:50px; text-align:center">
								<f:facet name="header">E-mail</f:facet>
								<h:outputText value="#{fiscal.email}" style="text-align:justify" />
							</p:column>

							<p:column style="width:25px; text-align:center">
								<f:facet name="header">Telefone</f:facet>
								<p:inputMask value="#{fiscal.telefone}" mask="(99) 9999-9999"
									disabled="true" />
							</p:column>
							<p:column style="width:5px; text-align:center">
								<f:facet name="header">Excluir</f:facet>

								<h:commandLink action="#{acaoFiscalBean.excluiFiscal}">
									<h:graphicImage value="/recursos/imagens/lixeira.png"
										style="border:0;" />
									<f:setPropertyActionListener
										target="#{acaoFiscalBean.agenteFiscal}" value="#{fiscal}" />
								</h:commandLink>
							</p:column>
						</p:dataTable>
					</div>
				</p:fieldset>
			</div>

			<div style="clear: both;"></div>

			<div class="campo-grupo">
				<h3>
					<h:outputText value="Contribuinte " />
					<p:inputMask id="cont" mask="99.999.999/9999-99"
						title="Entre com o CNPJ ou CPF" size="30"
						value="#{acaoFiscalBean.documento}">
						<p:ajax listener="#{acaoFiscalBean.carregarDadosContribuinte}"
							onevent="change" execute="true"
							update="soc,ativ,serv,end,comp,bairro" />
					</p:inputMask>

				</h3>
			</div>

			<div style="clear: both;"></div>

			<div class="campo-simples">
				<p:fieldset id="dados" legend="Dados Contribuinte" toggleable="true">
					<div class="campo-grupo">
						<h:outputLabel value="Razão social" />
						<p:inputText id="soc" size="60"
							value="#{acaoFiscalBean.contribuinte.contribuinte}"
							readonly="true" />
					</div>

					<div class="campo-grupo">
						<h:outputLabel value="Atividade" />
						<p:inputText id="ativ" size="60"
							value="#{acaoFiscalBean.contribuinte.atividade}" readonly="true" />
					</div>
					<div style="clear: both;"></div>

					<div class="campo-simples">
						<h:outputLabel value="Serviço" />
						<p:inputText id="serv" size="87"
							value="#{acaoFiscalBean.contribuinte.servico}" readonly="true" />
					</div>
					<div class="campo-simples">
						<h:outputLabel value="Endereço" />
						<p:inputText id="end" size="87"
							value="#{acaoFiscalBean.contribuinte.tipoLogradouro} #{acaoFiscalBean.contribuinte.logradouro}, nº #{acaoFiscalBean.contribuinte.numero}"
							readonly="true" />
					</div>
					<div class="campo-grupo">
						<h:outputLabel value="Complemento" />
						<p:inputText id="comp" size="20"
							value="#{acaoFiscalBean.contribuinte.complemento}"
							readonly="true" />
					</div>
					<div class="campo-grupo">
						<h:outputLabel value="Bairro" />
						<p:inputText id="bairro" size="60"
							value="#{acaoFiscalBean.contribuinte.tipoBairro} #{acaoFiscalBean.contribuinte.bairro}"
							readonly="true" />
					</div>
				</p:fieldset>
			</div>



			<div class="campo-simples">
				<p:fieldset id="contato" legend="Dados Contato" toggleable="true">
					<div class="campo-grupo">
						<h:outputLabel value="CPF / CNPJ" />
						<p:inputMask id="cpfcontato" mask="999.999.999-99"
							value="#{acaoFiscalBean.contato.cpf}" size="20" />
					</div>

					<div class="campo-grupo">
						<h:outputLabel value="Nome" />
						<p:inputText id="nomecontato"
							value="#{acaoFiscalBean.contato.nome}" size="70" onkeyup="up(this)"/>
					</div>
					<div style="clear: both;"></div>

					<div class="campo-grupo">
						<h:outputLabel value="Telefone" />
						<p:inputMask id="telefonecontato"
							value="#{acaoFiscalBean.contato.telefone}" mask="(99) 9999-9999"
							size="20" />
					</div>
					<div class="campo-grupo">
						<h:outputLabel value="E-mail" />
						<p:inputText id="emailcontato"
							value="#{acaoFiscalBean.contato.email}" size="70" />
					</div>

					<div style="clear: both;"></div>

					<div class="campo-simple">
						<p:commandButton value="Incluir"
							action="#{acaoFiscalBean.inserirContato}"
							update="contatodados, contato" ajax="false" title="Incluir contato"/>
					</div>
				</p:fieldset>
			</div>

			<div class="campo-simples">
				<p:dataTable id="contatodados" var="cont" emptyMessage=""
					value="#{acaoFiscalBean.acaoFiscal.contatos}">

					<p:column style="width:90px; text-align:left">
						<f:facet name="header">Contato</f:facet>
						<h:outputText value="#{cont.nome}" />
					</p:column>

					<p:column style="width:30px; text-align:center">
						<f:facet name="header">CPF / CNPJ</f:facet>
						<h:outputText value="#{cont.cpf}" />
					</p:column>

					<p:column style="width:50px; text-align:center">
						<f:facet name="header">E-mail</f:facet>
						<h:outputText value="#{cont.email}" />
					</p:column>

					<p:column style="width:25px; text-align:center">
						<f:facet name="header">Telefone</f:facet>
						<h:outputText value="#{cont.telefone}" />
					</p:column>
					<p:column style="width:10px; text-align:center">
						<f:facet name="header">Excluir</f:facet>
						<h:commandLink action="#{acaoFiscalBean.excluiContato}">

							<h:graphicImage value="/recursos/imagens/lixeira.png"
								style="border:0;" />
							<f:setPropertyActionListener target="" value="#{cont}" />
						</h:commandLink>
					</p:column>
				</p:dataTable>
			</div>


			<div class="campo-simples">
				<p:fieldset id="dadoacao" legend="Dados Ação" toggleable="true">
					<div class="campo-simples">

						<p:fieldset id="perfisc" legend="Período a ser fiscalizado">

							<div class="campo-grupo">
								<h:outputText value="Inicio" />
								<p:calendar
									value="#{acaoFiscalBean.periodoFiscalizacao.datainicio}"
									pattern="dd/MM/yyyy" requiredMessage="DATA OBRIGATÓRIO" />
							</div>

							<div class="campo-grupo">
								<h:outputText value="Fim" />
								<p:calendar
									value="#{acaoFiscalBean.periodoFiscalizacao.datafim}"
									pattern="dd/MM/yyyy" requiredMessage="DATA OBRIGATÓRIO" />
							</div>

							<div class="campo-grupo">
								<p:commandButton value="Incluir período" action="#{acaoFiscalBean.inserirPeriodoFiscalizado}"
									update="peri,perfisc" ajax="false" />
							</div>
						</p:fieldset>
						<div style="clear: both;"></div>

						<div class="campo-simples">
							<p:dataTable id="peri" var="membro"
								value="#{acaoFiscalBean.acaoFiscal.periodos}">

								<p:column style="width:60px; text-align:center">
									<f:facet name="header">Data Inicio</f:facet>
									<h:outputText value="#{membro.datainicio}">
										<f:convertDateTime pattern="dd/MM/yyyy" />
									</h:outputText>
								</p:column>

								<p:column style="width:60px; text-align:center">
									<f:facet name="header">Data Fim</f:facet>
									<h:outputText value="#{membro.datafim}">
										<f:convertDateTime pattern="dd/MM/yyyy" />
									</h:outputText>
								</p:column>

								<p:column style="width:20px; text-align:center">
									<f:facet name="header">Excluir</f:facet>
									<h:commandLink
										action="#{acaoFiscalBean.excluiPeriodoFiscalizado}"
										title="Excluir periodo de fiscalização">

										<h:graphicImage value="/recursos/imagens/CROSS16.BMP"
											style="border:0;" />
										<f:setPropertyActionListener target="" value="#{membro}" />
									</h:commandLink>
								</p:column>

							</p:dataTable>
						</div>
					</div>

					<div class="campo-simples">
						<h:outputLabel value="Motivação" />
						<p:selectOneMenu id="motivacao" style="width:500px" value="#{acaoFiscalBean.motivacao}"
							converter="conversorMotivacao"
							immediate="true">
							<f:selectItem itemValue="" itemLabel="SELECIONE...."
								noSelectionOption="true" />
							<f:selectItems value="#{acaoFiscalBean.listaMotivacao}"
								var="lista" itemValue="#{lista}"
								itemLabel="#{lista.detalhamento}" />
						</p:selectOneMenu>
					</div>

					<div class="campo-simples">
						<h:outputLabel value="Histórico/Observação" />
						<p:inputTextarea id="his"
							value="#{acaoFiscalBean.acaoFiscal.historico}" onkeyup="up(this)"
							style="width:547px;" title="Digite o histórico ou observação sobre a ação fiscal"/>
					</div>

					<div class="campo-simples">
						<h:outputLabel value="Documento a serem apresentado" />
						<p:inputTextarea id="doc"
							value="#{acaoFiscalBean.acaoFiscal.documentosapresentados}"
							style="width:547px;" title="Digite a documentação a ser apresentada pelo contribuinte" onkeyup="up(this)"/>
					</div>

					<div class="campo-grupo">
						<h:outputLabel value="Data e hora do início da ação fiscal" />
					</div>
					<div class="campo-grupo">
						<p:inputText readonly="true"
							value="#{acaoFiscalBean.dataHora}" onkeyup="up(this)" />
					</div>

					<div class="campo-grupo">
						<h:outputLabel value="Prazo" />
					</div>
					<div class="campo-grupo">
						<p:calendar value="#{acaoFiscalBean.acaoFiscal.prazo}"
							pattern="dd/MM/yyyy HH:mm" />
					</div>

					<div style="clear: both;"></div>

					<div class="campo-grupo">
						<h:outputLabel value="Quantidade de prorrogação" />
					</div>
					<div class="campo-grupo">
						<p:inputText id="prorro" value="#{acaoFiscalBean.consultaAgenteFiscalProcesso.quantidade_prorrogacao}" size="3" readonly="true"/>
					</div>
					<div class="campo-grupo">
						<p:commandButton value="Solicitar prorrogação"
							action="#{acaoFiscalBean.solicitarProrrogacao}" ajax="false">
						</p:commandButton>
					</div>
					<div class="campo-grupo">
						<p:commandButton value="Ver justificativa"
							onclick="justificativa.show()" />
						<p:dialog header="Ver justificativa" widgetVar="justificativa"
							resizable="true" width="420">
							<c:if
								test="#{!empty acaoFiscalBean.consultaAgenteFiscalProcesso.justificativa_prorrogacao}">
								<div class="campo-simples">
									<h:outputText value="Justificativas" />
								</div>
								<div class="campo-simples">
									<p:inputTextarea style="width:390px;height:100px;"
										readonly="true" autoResize="true"
										value="#{acaoFiscalBean.consultaAgenteFiscalProcesso.justificativa_prorrogacao}"
										onkeyup="up(this)" />
								</div>
							</c:if>
							<c:if
								test="#{empty acaoFiscalBean.consultaAgenteFiscalProcesso.justificativa_prorrogacao}">
								<h:outputText value="Não há justificativas" />
							</c:if>
						</p:dialog>
					</div>
				</p:fieldset>
			</div>

			<div class="campo-simples">
				<p:commandButton id="salvar" value="Salvar" action="#{acaoFiscalBean.salvar}"
					update="msgSuccess" ajax="false" onclick="dlg.show()" title="Clique para salvar a ação fiscal"/>
			</div>

		</h:form>
	</ui:define>
</ui:composition>
</html>

Erro gerado no console

15:27:12,665 GRAVE [javax.enterprise.resource.webcontainer.jsf.application] (http–127.0.0.1-8080-2) Error Rendering View[/fiscalizacao/acaofiscal.xhtml]: javax.el.ELException: /fiscalizacao/acaofiscal.xhtml @61,70 value="#{acaoFiscalBean.listaAgenteFiscais}": org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: br.gov.sp.indaiatuba.mammon.model.entity.AgenteFiscal

acredito que vc queira estar usando esta instância acaoFiscal.setFk_processo(consultaAgenteFiscalProcesso.getFk_processo()) sem ela ter sido salva ainda.

aix fiz o teste retirando o “consultaAgenteFiscalProcesso.getFk_processo()” e também tentando persistir com um valor valor manual, porém o mesmo erro é gerado.

Agradeço a dica!

amigo, eu não quiz dizer especificamente naquela linha e sim da instância daquele objeto, mas reparou que o erro da nesta expressão {acaoFiscalBean.listaAgenteFiscais} ? ou seja depois que vc clia em salvar ele deve ler esta lista, e ao ler a lista da o erro, experimentou debugar ?

aix Isso mesmo é isso q esta acontecendo, mas só tentando entender, uso o selectOneMenu em outros formularios que fazem quase as mesma coisa, porém não houve qualquer problema.
Como consigo resolver isso, tem alguma ideia?

[quote=guinaop_bueno] aix Isso mesmo é isso q esta acontecendo, mas só tentando entender, uso o selectOneMenu em outros formularios que fazem quase as mesma coisa, porém não houve qualquer problema.
Como consigo resolver isso, tem alguma ideia?[/quote]

debug manu, o método que lista deve receber o valor vindo do DAO, não sera la o problema ? ao carregar esses objetos ? a implementação das outras listas como é ? por isto digo a melhor forma de ver é no debug.