Target unreachable '...' returned null primefaces

0 respostas
M

Boa noite, estou com o seguinte problema.
Estou usando primefaces + hibernate + jsf 2
Acontece que quando vou inserir o primeiro registro ele me retorna o erro do titulo, e não insere o registro. (target unreachable '#{medicoBean.selectMedico.nome}' returned null

Quando eu comento a parte que chama o método, ele insere normal os registros. Depois disso, volto o método, ele também causa o erro, mas se eu seleciono qualquer registro no data table ele volta a inserir normalmente. Ou seja, sempre antes de inserir tenho que ter um registro previamente selecionado. Segue abaixo os meus códigos

cadMedico.xhtml

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"       
	  xmlns:p="http://primefaces.org/ui">
<h:head></h:head> 
<body> 
	<h:head>
 	<link rel="StyleSheet" type="txt/css" href="css/estilo.css" media="screen" />
 </h:head>
 <div id="topo">
 	
 </div>
 <div id="conteudo">
 	
 	<p:panel styleClass="panel" header="Cadastro de Medico" menuTitle="Cadastro de Médico" >
 	   <h1></h1> 	   
 	   <h:form id="form" style="width: 99%; font-size:11px;color: #0000ff;">	    
 	    
 	    <h:panelGrid  columns="2" cellpadding="2" border="0" style="width:100%">
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;"  value="Id:" />
 	    	<p:inputText style="height:25px;width:20%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;font-color: #00f;" value="#{medicoBean.medico.id}" />
 	    	
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="Nome:" />
 	    	<p:inputText style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.medico.nome}" />
 	    	
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="CRM:"/>
 	    	<p:inputText style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.medico.CRM}" />
 	    					
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="Uf CRM:" />
 	    					
 	    	<p:selectOneMenu style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.medico.ufCrm}">
 	   			<f:selectItem itemLabel="Acre" itemValue="AC" />
 	   			<f:selectItem itemLabel="Alagoas" itemValue="AL" />
 	   			<f:selectItem itemLabel="Amapá" itemValue="AP"/>
 	   			<f:selectItem itemLabel="Amazonas" itemValue="AM"/>
 	   			<f:selectItem itemLabel="Bahia" itemValue="BA"/>
 	   			<f:selectItem itemLabel="Ceará" itemValue="CE"/>
 	   			<f:selectItem itemLabel="Distrito Federal" itemValue="DF"/>
				<f:selectItem itemLabel="Espírito Santo" itemValue="ES" />
				<f:selectItem itemLabel="Goiás" itemValue="GO" />
				<f:selectItem itemLabel="Maranhão" itemValue="MA" />
				<f:selectItem itemLabel="Mato Grosso" itemValue="MT" />
				<f:selectItem itemLabel="Minas Gerais" itemValue="MG" />
				<f:selectItem itemLabel="Paraná" itemValue="PR" />
				<f:selectItem itemLabel="Paraíba" itemValue="PB" />
				<f:selectItem itemLabel="Pará" itemValue="PA" />
				<f:selectItem itemLabel="Pernambuco" itemValue="PE" />
				<f:selectItem itemLabel="Piauí" itemValue="PI" />
				<f:selectItem itemLabel="Rio de Janeiro" itemValue="RJ" />
				<f:selectItem itemLabel="Rio Grande do Norte" itemValue="RN" />
				<f:selectItem itemLabel="Rio Grande do Sul" itemValue="RS" />
				<f:selectItem itemLabel="Rondônia" itemValue="RO" />
				<f:selectItem itemLabel="Roraima" itemValue="RR" />
				<f:selectItem itemLabel="Santa Catarina" itemValue="SC" />
				<f:selectItem itemLabel="Sergipe" itemValue="SE" />
				<f:selectItem itemLabel="São Paulo" itemValue="SP" />
				<f:selectItem itemLabel="Tocantins" itemValue="TO" />
 	   		</p:selectOneMenu>
 	   		
 	   		<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="Especialidade:" />
 	    					
 	    	<p:inputText style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.medico.especialidade}" />
 	    	
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;"  value="Data Nascimento:" />
 	    	
 	    	<p:calendar autocomplete="true" style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.medico.nascimento}"  />
 	    	
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="Telefone:"  />
 	    					
 	    	<p:inputMask mask="([telefone removido]" style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.medico.telefone}" />
 	    					
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="Celular" />
 	    					
 	    	<p:inputMask mask="(99) 9 9999-9999" style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.medico.celular}" />
 	    					
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="RG:" />
 	    					
 	    	<p:inputText style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.medico.RG}" />
 	    					
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="CPF:" />
 	    					
 	    	<p:inputMask mask="[CPF removido]" style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.medico.CPF}" />
 	    					
 	    	<p:outputLabel style="font-size:12px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="Dados do Endereço" />
 	    	<hr width="99%" style="font-size:12px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" size="1px" color="blue" />
 	    					
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="CEP:" />
 	    					
 	    	<p:inputMask mask="99999-999" style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.medico.cep}" />
 	    					
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="Cidade" />
 	    					
 	    	<p:inputText style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.medico.cidade}" />
 	    					
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="Estado:" />
 	    					
 	    	<p:selectOneMenu style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.medico.estado}">
 	   			<f:selectItem itemLabel="Acre" itemValue="AC" />
 	   			<f:selectItem itemLabel="Alagoas" itemValue="AL" />
 	   			<f:selectItem itemLabel="Amapá" itemValue="AP"/>
 	   			<f:selectItem itemLabel="Amazonas" itemValue="AM"/>
 	   			<f:selectItem itemLabel="Bahia" itemValue="BA"/>
 	   			<f:selectItem itemLabel="Ceará" itemValue="CE"/>
 	   			<f:selectItem itemLabel="Distrito Federal" itemValue="DF"/>
				<f:selectItem itemLabel="Espírito Santo" itemValue="ES" />
				<f:selectItem itemLabel="Goiás" itemValue="GO" />
				<f:selectItem itemLabel="Maranhão" itemValue="MA" />
				<f:selectItem itemLabel="Mato Grosso" itemValue="MT" />
				<f:selectItem itemLabel="Minas Gerais" itemValue="MG" />
				<f:selectItem itemLabel="Paraná" itemValue="PR" />
				<f:selectItem itemLabel="Paraíba" itemValue="PB" />
				<f:selectItem itemLabel="Pará" itemValue="PA" />
				<f:selectItem itemLabel="Pernambuco" itemValue="PE" />
				<f:selectItem itemLabel="Piauí" itemValue="PI" />
				<f:selectItem itemLabel="Rio de Janeiro" itemValue="RJ" />
				<f:selectItem itemLabel="Rio Grande do Norte" itemValue="RN" />
				<f:selectItem itemLabel="Rio Grande do Sul" itemValue="RS" />
				<f:selectItem itemLabel="Rondônia" itemValue="RO" />
				<f:selectItem itemLabel="Roraima" itemValue="RR" />
				<f:selectItem itemLabel="Santa Catarina" itemValue="SC" />
				<f:selectItem itemLabel="Sergipe" itemValue="SE" />
				<f:selectItem itemLabel="São Paulo" itemValue="SP" />
				<f:selectItem itemLabel="Tocantins" itemValue="TO" />
 	   		</p:selectOneMenu>
 	   		
 	   		<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="Endereço:" />
 	    					
 	    	<p:inputText style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.medico.endereco}" />
 	    					
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="Complemento:" />
 	    					
 	    	<p:inputText style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.medico.complemento}" />
 	    					
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="Bairro:" />
 	    					
 	    	<p:inputText style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.medico.bairro}" />
 	    					
 	    	  		 
 	   			<p:commandButton style="height:22px;font-size:10px;font-family:Sans-serif,Arial,Verdana;
 	   								color:#00f;font-weight:bold;" icon="ui-icon-plus" value="Inserir" action="#{medicoBean.Adiconar()}" 
 	   				process="@form" update=":form:medico"/>
 	   				
 	   			<p:commandButton style="height:22px;font-size:10px;font-family:Sans-serif,Arial,Verdana;
 	   								color:#00f;font-weight:bold;" immediate="true" ajax="true"
 	   								icon="ui-icon-trash" value="Limpar/Novo" type="reset"/>  		
 	   			 
 	   			 <!--   			
 	   			<p:commandButton style="height:22px;font-size:10px;font-family:Sans-serif,Arial,Verdana;
 	   								color:#00f;font-weight:bold;" icon="ui-icon-new" value="Limpar/Novo" action="#{pacienteBean.Limpar()}" 
 	   				process="@form" update="@all" /> 
 	   			-->
 	    	</h:panelGrid>
 	   		
 	 
 	   	<p:dataTable id="medico" paginator="true" rows="10" var="med" value="#{medicoBean.listaMedico()}"
 	   		     paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                 rowsPerPageTemplate="5,10,20" rowKey="#{med.id}" selection="#{medicoBean.selectMedico}" selectionMode="single" >
                 	   		
 	   	<p:ajax event="rowSelect"/>
 	   		
        <p:column style="heigth:12px;color:#00f; font-weight:bold;" headerText="Id">
        	#{med.id}     	
        </p:column>

        <p:column  headerText="Nome">
           #{med.nome}
        </p:column>       
		
		
        <f:facet name="footer">  
            <p:commandButton  value="Detalhes" icon="ui-icon-search"  
                    update=":form:display" oncomplete="dgAtualizar.show()" process="@this"/>
             
        </f:facet>
     
    	</p:dataTable>
    	
    	<p:dialog id="dialog" header="Atualizar Usuário" widgetVar="dgAtualizar" resizable="false"  
              width="50%" showEffect="clip" hideEffect="fold">  
  
        <h:panelGrid id="display" columns="2" cellpadding="5"> 
  
            
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;"  value="Id:" />
 	    	<p:outputLabel style="font-size:20px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;"  value="#{medicoBean.selectMedico.id}" />
 	    	
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="Nome:" />
 	    	<p:inputText style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.selectMedico.nome}" />
 	    	
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="CRM:"/>
 	    	<p:inputText style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.selectMedico.CRM}" />
 	    					
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="Uf CRM:" />
 	    					
 	    	<p:selectOneMenu style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#medicoBean.selectMedico.ufCrm}">
 	   			<f:selectItem itemLabel="Acre" itemValue="AC" />
 	   			<f:selectItem itemLabel="Alagoas" itemValue="AL" />
 	   			<f:selectItem itemLabel="Amapá" itemValue="AP"/>
 	   			<f:selectItem itemLabel="Amazonas" itemValue="AM"/>
 	   			<f:selectItem itemLabel="Bahia" itemValue="BA"/>
 	   			<f:selectItem itemLabel="Ceará" itemValue="CE"/>
 	   			<f:selectItem itemLabel="Distrito Federal" itemValue="DF"/>
				<f:selectItem itemLabel="Espírito Santo" itemValue="ES" />
				<f:selectItem itemLabel="Goiás" itemValue="GO" />
				<f:selectItem itemLabel="Maranhão" itemValue="MA" />
				<f:selectItem itemLabel="Mato Grosso" itemValue="MT" />
				<f:selectItem itemLabel="Minas Gerais" itemValue="MG" />
				<f:selectItem itemLabel="Paraná" itemValue="PR" />
				<f:selectItem itemLabel="Paraíba" itemValue="PB" />
				<f:selectItem itemLabel="Pará" itemValue="PA" />
				<f:selectItem itemLabel="Pernambuco" itemValue="PE" />
				<f:selectItem itemLabel="Piauí" itemValue="PI" />
				<f:selectItem itemLabel="Rio de Janeiro" itemValue="RJ" />
				<f:selectItem itemLabel="Rio Grande do Norte" itemValue="RN" />
				<f:selectItem itemLabel="Rio Grande do Sul" itemValue="RS" />
				<f:selectItem itemLabel="Rondônia" itemValue="RO" />
				<f:selectItem itemLabel="Roraima" itemValue="RR" />
				<f:selectItem itemLabel="Santa Catarina" itemValue="SC" />
				<f:selectItem itemLabel="Sergipe" itemValue="SE" />
				<f:selectItem itemLabel="São Paulo" itemValue="SP" />
				<f:selectItem itemLabel="Tocantins" itemValue="TO" />
 	   		</p:selectOneMenu>
 	   		
 	   		<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="Especialidade:" />
 	    					
 	    	<p:inputText style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.selectMedico.especialidade}" />
 	    	
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;"  value="Data Nascimento:" />
 	    	
 	    	<p:calendar autocomplete="true" style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.selectMedico.nascimento}"  />
 	    	
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="Telefone:"  />
 	    					
 	    	<p:inputMask mask="([telefone removido]" style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.selectMedico.telefone}" />
 	    					
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="Celular" />
 	    					
 	    	<p:inputMask mask="(99) 9 9999-9999" style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.selectMedico.celular}" />
 	    					
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="RG:" />
 	    					
 	    	<p:inputText style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.selectMedico.RG}" />
 	    					
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="CPF:" />
 	    					
 	    	<p:inputMask mask="[CPF removido]" style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.selectMedico.CPF}" />
 	    					
 	    	<p:outputLabel style="font-size:12px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="Dados do Endereço" />
 	    	<hr width="99%" style="font-size:12px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" size="1px" color="blue" />
 	    					
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="CEP:" />
 	    					
 	    	<p:inputMask mask="99999-999" style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.selectMedico.cep}" />
 	    					
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="Cidade" />
 	    					
 	    	<p:inputText style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.selectMedico.cidade}" />
 	    					
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="Estado:" />
 	    					
 	    	<p:selectOneMenu style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.selectMedico.estado}">
 	   			<f:selectItem itemLabel="Acre" itemValue="AC" />
 	   			<f:selectItem itemLabel="Alagoas" itemValue="AL" />
 	   			<f:selectItem itemLabel="Amapá" itemValue="AP"/>
 	   			<f:selectItem itemLabel="Amazonas" itemValue="AM"/>
 	   			<f:selectItem itemLabel="Bahia" itemValue="BA"/>
 	   			<f:selectItem itemLabel="Ceará" itemValue="CE"/>
 	   			<f:selectItem itemLabel="Distrito Federal" itemValue="DF"/>
				<f:selectItem itemLabel="Espírito Santo" itemValue="ES" />
				<f:selectItem itemLabel="Goiás" itemValue="GO" />
				<f:selectItem itemLabel="Maranhão" itemValue="MA" />
				<f:selectItem itemLabel="Mato Grosso" itemValue="MT" />
				<f:selectItem itemLabel="Minas Gerais" itemValue="MG" />
				<f:selectItem itemLabel="Paraná" itemValue="PR" />
				<f:selectItem itemLabel="Paraíba" itemValue="PB" />
				<f:selectItem itemLabel="Pará" itemValue="PA" />
				<f:selectItem itemLabel="Pernambuco" itemValue="PE" />
				<f:selectItem itemLabel="Piauí" itemValue="PI" />
				<f:selectItem itemLabel="Rio de Janeiro" itemValue="RJ" />
				<f:selectItem itemLabel="Rio Grande do Norte" itemValue="RN" />
				<f:selectItem itemLabel="Rio Grande do Sul" itemValue="RS" />
				<f:selectItem itemLabel="Rondônia" itemValue="RO" />
				<f:selectItem itemLabel="Roraima" itemValue="RR" />
				<f:selectItem itemLabel="Santa Catarina" itemValue="SC" />
				<f:selectItem itemLabel="Sergipe" itemValue="SE" />
				<f:selectItem itemLabel="São Paulo" itemValue="SP" />
				<f:selectItem itemLabel="Tocantins" itemValue="TO" />
 	   		</p:selectOneMenu>
 	   		
 	   		<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="Endereço:" />
 	    					
 	    	<p:inputText style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.selectMedico.endereco}" />
 	    					
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="Complemento:" />
 	    					
 	    	<p:inputText style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.selectMedico.complemento}" />
 	    					
 	    	<p:outputLabel style="font-size:16px;color: #00f;font-weight:bold;
 	    					font-family:sans-serif,arial,verdana;" value="Bairro:" />
 	    					
 	    	<p:inputText style="height:25px;width:100%; font-size: 11px;
 	    					font-family:Arial,sans-serif,verdana;color: #00f;" value="#{medicoBean.selectMedico.bairro}" />
 	    					
 	    	  		 
 	   			<p:commandButton style="height:22px;font-size:10px;font-family:Sans-serif,Arial,Verdana;
 	   								color:#00f;font-weight:bold;" icon="ui-icon-plus" value="Atualizar" action="#{medicoBean.Atualizar()}" 
 	   				process="@form" update=":form:medico" oncomplete="dgAtualizar.hide()" />   
 	   		
 	    	</h:panelGrid>
    </p:dialog>  
    	
      </h:form>
 	  <a href="acessoAtendente.jsf"> Voltar </a>
 	</p:panel>
 	
 </div>
 <div id="rodape"></div>
</body> 
</html>

MedicoDAO

package br.com.pew.dao;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.FlushMode;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.context.internal.ManagedSessionContext;
import org.primefaces.model.SelectableDataModel;


import br.com.pew.model.Medico;
import br.com.pew.model.Pessoa;
import br.com.pew.util.HibernateUtil;

public class MedicoDAO {
	
	SessionFactory sf = HibernateUtil.getSessionFactory();
	Transaction trans;
	Session currentSession;
	private List<Medico> list;
	
	public void addMedico(Medico med){
		
		try {
			currentSession = sf.openSession();
			currentSession.setFlushMode(FlushMode.MANUAL);
		
			ManagedSessionContext.bind(currentSession);
			currentSession.beginTransaction();
		
			Medico medico = new Medico();
		
			medico.setNome(med.getNome());
			medico.setBairro(med.getBairro());
			medico.setCelular(med.getCelular());
			medico.setCep(med.getCep());
			medico.setCidade(med.getCidade());
			medico.setComplemento(med.getComplemento());
			medico.setCPF(med.getCPF());
			medico.setCRM(med.getCRM());
			medico.setEndereco(med.getEndereco());
			medico.setEspecialidade(med.getEspecialidade());
			medico.setEstado(med.getEstado());
			medico.setNascimento(med.getNascimento());
			medico.setRG(med.getRG());
			medico.setTelefone(med.getTelefone());
			medico.setUfCrm(med.getUfCrm());
			
			currentSession.save(medico);

			ManagedSessionContext.unbind(sf);

			currentSession.flush();
			currentSession.getTransaction().commit();
			
		}catch (Exception e){
			currentSession.getTransaction().rollback();
			e.printStackTrace();
		}finally{
			currentSession.close();
		}
		
	}
	public void atualizaMedico (Medico med){
		
		try {
			currentSession = sf.openSession();
			currentSession.setFlushMode(FlushMode.MANUAL);
	
			ManagedSessionContext.bind(currentSession);
			currentSession.beginTransaction();
	
			Medico medico = new Medico();
		
			medico.setId(med.getId());
			medico.setNome(med.getNome());
			medico.setBairro(med.getBairro());
			medico.setCelular(med.getCelular());
			medico.setCep(med.getCep());
			medico.setCidade(med.getCidade());
			medico.setComplemento(med.getComplemento());
			medico.setCPF(med.getCPF());
			medico.setCRM(med.getCRM());
			medico.setEndereco(med.getEndereco());
			medico.setEspecialidade(med.getEspecialidade());
			medico.setEstado(med.getEstado());
			medico.setNascimento(med.getNascimento());
			medico.setRG(med.getRG());
			medico.setTelefone(med.getTelefone());
			medico.setUfCrm(med.getUfCrm());
			
			currentSession.update(medico);

			ManagedSessionContext.unbind(sf);

			currentSession.flush();
			currentSession.getTransaction().commit();
			
		}catch(Exception e) {
			currentSession.getTransaction().rollback();
			e.printStackTrace();
		}finally {
			currentSession.close();
		}
		
	}
	public void removerMedico (Medico med){
		try {
			currentSession = sf.openSession();
			currentSession.setFlushMode(FlushMode.MANUAL);
	
			ManagedSessionContext.bind(currentSession);
			currentSession.beginTransaction();
			
			currentSession.delete(med);
			
			ManagedSessionContext.unbind(sf);

			currentSession.flush();
			currentSession.getTransaction().commit();
			
		}catch(Exception e){
			currentSession.getTransaction().rollback();
			e.printStackTrace();
		}finally{
			currentSession.close();
		}
	}
public List<Medico> getList() {
		
		currentSession = sf.openSession();
		currentSession.setFlushMode(FlushMode.MANUAL);
		
		ManagedSessionContext.bind(currentSession);
		
		Criteria cri = currentSession.createCriteria(Medico.class);
		this.list = cri.list();
		
		return list;
		
		
	}		
public Integer getRowKey(Medico medico){
		return medico.getId();
	}
}

MedicoBean

package br.com.pew.controller;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import org.hibernate.Session;
import org.hibernate.context.spi.CurrentSessionContext;
import org.primefaces.event.RowEditEvent;
import org.primefaces.event.SelectEvent;

import br.com.pew.util.HibernateUtil;
import br.com.pew.dao.MedicoDAO;
import br.com.pew.model.Medico;

@SessionScoped
@ManagedBean
public class MedicoBean {
	
	private Medico medico = new Medico();
	private MedicoDAO medicoDao = new MedicoDAO ();
	private List<Medico> listarMedico;
	private Medico selectMedico = new Medico();
	
	public Medico getMedico(){
		return medico;
	}
	
	public String Adiconar () {
		medicoDao.addMedico(medico);
		return "cadMedico";
	}
	public String Remover (){
		medicoDao.removerMedico(medico);
		return "cadMedico";
	}
	public String Atualizar () {
		medicoDao.atualizaMedico(selectMedico);
		return "cadMedico";
	}
	public List listaMedico (){
		listarMedico = medicoDao.getList();
		return listarMedico;
	}
	public void setSelectMedico(Medico selectMedico){
		this.selectMedico = selectMedico;
		
	}
	public Medico getSelectMedico () {
		return selectMedico;
	}
}
Criado 4 de novembro de 2013
Respostas 0
Participantes 1