Herança

3 respostas
G

Prezados boa tarde.

precisei usar herança na modelagem. Programo usando primefaces e hibernate. Estou com dúvida para salvar as informações na tabela, pois na tela xhtml vejam:

<h:outputLabel value="Nome: " for="nome"/>
<p:inputText id="nome" label="Nome" value="#{funcionarioBean.funcionario.nome}" required="true" size="80" />  
<h:outputLabel value="CPF: " for="cpf"/>
<p:inputText id="cpf" label="CPF" value="#{funcionarioBean.funcionario.cpf}" required="true" size="11" />  
<h:outputLabel value="Prédio: " for="predio"/>
<p:inputText id="predio" label="Predio" value="#{funcionarioBean.funcionario.predio}" required="true" size="30" />  
<h:outputLabel value="Andar: " for="andar"/>
<p:inputText id="andar" label="Andar" value="#{funcionarioBean.funcionario.andar}" required="true" size="10" />  
<h:outputLabel value="Sala: " for="sala"/>
<p:inputText id="sala" label="Sala" value="#{funcionarioBean.funcionario.sala}" required="true" size="10" />  
<h:outputLabel value="Ramal: " for="ramal"/>
<p:inputText id="ramal" label="Ramal" value="#{funcionarioBean.funcionario.ramal}" required="true" size="10" />  

<h:outputLabel value="Tipo: " for="tipo"/>
        <p:selectOneRadio id="tipo" value="#{funcionarioBean.tipoFuncionario}">  
        <p:ajax event="change" update="cadastro" listener="#{funcionarioBean.metodo}" />
        	<f:selectItem itemLabel="Estagiario" itemValue="1" /> 
            <f:selectItem itemLabel="Terceirizado" itemValue="2" />  
            <f:selectItem itemLabel="Servidor" itemValue="3" />                           
        </p:selectOneRadio>  

<h:outputLabel value="Login Fiscal: " for="loginFiscalE" rendered="#{funcionarioBean.atributosEstagiario}"/>
<p:inputText id="loginFiscalE" label="LoginFiscalE" value="#{funcionarioBean.estagiario.loginFiscal}" required="true" size="30"  rendered="#{funcionarioBean.atributosEstagiario}"/>
<h:outputLabel value="Nome Fiscal: " for="nomeFiscalE" rendered="#{funcionarioBean.atributosEstagiario}"/>
<p:inputText id="nomeFiscalE" label="NomeFiscalE" value="#{funcionarioBean.estagiario.fiscalContrato}" required="true" size="50"  rendered="#{funcionarioBean.atributosEstagiario}"/>

Sendo estagiário um funcionário, como fazer para salvar isso? Salvo um objeto depois o outro? Para coletar estas informações do value do inputtext que são comuns as outras classes, jogo para objeto funcionário conforme código?

3 Respostas

drsmachado

Primeiro, você é quem define que estrutura quer seguir, seja no banco de dados ou na sua xhtml.
Pensando assim, você é quem diz como vai salvar e, após decidir como os dados devem ser persistidos.

G

Obrigado por responder. Mas existe alguma boa prática neste caso? Você teria algum exemplo?

P

Pesquise sobre mapeamento objeto relacional.

Criado 18 de março de 2014
Ultima resposta 21 de mar. de 2014
Respostas 3
Participantes 3