essa e minha Class Funcionarios:
package br.com.horasExtras.domain;
import java.math.BigDecimal;
import javax.persistence.Column;
import javax.persistence.Entity;
import br.com.horasExtras.domain.GenericDomain;
@SuppressWarnings(“serial”)
@Entity
public class Funcionarios extends GenericDomain {
@Column(length=100,nullable=false)
private String nmfuncionario;
@Column(nullable=false)
private BigDecimal salario;
@Column(length=10,nullable=false)
private String matricula;
@Column(length=15,nullable=false)
private String lotacao;
@Column(length=1,nullable=false)
private String tipo;
@Column(length=20,nullable=false)
private String senha;
public String getNmfuncionario() {
return nmfuncionario;
}
public void setNmfuncionario(String nmfuncionario) {
this.nmfuncionario = nmfuncionario;
}
public BigDecimal getSalario() {
return salario;
}
public void setSalario(BigDecimal salario) {
this.salario = salario;
}
public String getMatricula() {
return matricula;
}
public void setMatricula(String matricula) {
this.matricula = matricula;
}
public String getLotacao() {
return lotacao;
}
public void setLotacao(String lotacao) {
this.lotacao = lotacao;
}
public String getTipo() {
return tipo;
}
public void setTipo(String tipo) {
this.tipo = tipo;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
}
essa e minha page Funcionarios.xhtml:
<?xml version="1.0" encoding="UTF-8" ?>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:p=“http://primefaces.org/ui"
xmlns:ui=“http://xmlns.jcp.org/jsf/facelets"
template=”/templates/Modelo.xhtml”>
<ui:define name="conteudo">
<h:form id="formListagem">
<p:panel header="Funcionários - Listagem">
<p:dataTable id="tabela" emptyMessage="Nenhum registro encontrado."
paginator="true" value="#{funcionariosBean.funcionarios}" var="funcionarios" rows="10"
paginatorPosition="top">
<f:facet name="header">
<p:commandButton value="Novo" oncomplete="PF('dialogo').show();"
actionListener="#{funcionariosBean.novo}" update=":formCadastro:painel" />
<p:commandButton value="Fechar" oncomplete="PF('dialogo').hide();"/>
</f:facet>
<p:column headerText="Nome" sortBy="#{funcionarios.nmfuncionario}"
filterBy="#{funcionarios.nmfuncionario}">
<h:outputText value="#{funcionarios.nmfuncionario}" />
</p:column>
<p:column headerText="Matricula" sortBy="#{funcionarios.matricula}"
filterBy="#{funcionarios.matricula}">
<h:outputText value="#{funcionarios.matricula}" />
</p:column>
<p:column headerText="Lotação" sortBy="#{funcionarios.lotacao}"
filterBy="#{funcionarios.lotacao}">
<h:outputText value="#{funcionarios.lotacao}" />
</p:column>
<p:column headerText="Opções">
<p:commandButton icon="ui-icon-trash" actionListener="#{funcionariosBean.excluir}"
update=":mensagem :formListagem:tabela">
<p:confirm header="Confirmação" message="Deseja excluir o funcionário?"
icon="ui-icon-alert" />
<f:attribute name="funcionarioSelecionado" value="#{funcionarios}"/>
</p:commandButton>
<p:commandButton icon="ui-icon-pencil" actionListener="#{funcionariosBean.editar}"
update=":formCadastro:painel" oncomplete="PF('dialogo').show();">
<f:attribute name="funcionarioSelecionado" value="#{funcionarios}"/>
</p:commandButton>
</p:column>
</p:dataTable>
<p:confirmDialog global="true">
<p:commandButton value="Sim" type="button"
styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
<p:commandButton value="Não" type="button"
styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
</p:confirmDialog>
</p:panel>
</h:form>
<p:dialog header="Funcionários - Cadastro" widgetVar="dialogo"
draggable="false" resizable="false" modal="true" closable="false">
<h:form id="formCadastro">
<h:panelGrid id="painel" columns="2">
<p:outputLabel value="Nome:" />
<p:inputText maxlength="100" size="100"
value="#{funcionariosBean.funcionario.nmfuncionario}"
required="true" requiredMessage="O campo 'Nome' é obrigatório"/>
<p:outputLabel value="Matricula:" />
<p:inputText maxlength="10" size="10"
value="#{funcionariosBean.funcionario.matricula}"
required="true" requiredMessage="O campo 'Matricula' é obrigatório"/>
<p:outputLabel value="Lotação:" />
<p:inputText maxlength="10" size="10"
value="#{funcionariosBean.funcionario.lotacao}"
required="true" requiredMessage="O campo 'Lotação' é obrigatório"/>
<p:outputLabel value="Salário:" />
<p:inputText maxlength="10" size="10"
value="#{funcionariosBean.funcionario.salario}" required="true"
requiredMessage="O campo 'Salário' é obrigatório"
converterMessage="Informe um valor válido para o campo 'Salário''"
validatorMessage="Informe um valor entre 0,01 e 99999,99 para o campo 'Salário'">
<f:validateDoubleRange minimum="0.01" maximum="99999.99" />
<f:convertNumber locale="pt_BR" minFractionDigits="2" />
</p:inputText>
<p:outputLabel for="senha" value="Senha:" />
<p:password id="senha" maxlength="20" size="20" redisplay="true"
value="#{funcionariosBean.funcionario.senha}"
required="true" requiredMessage="O campo 'Senha' é obrigatório"/>
<p:outputLabel for="tipo" value="Tipo:" />
<p:selectOneRadio id="tipo" value="#{funcionariosBean.funcionario.tipo}"
required="true" requiredMessage="O campo 'Tipo' ´obrigatório">
<f:selectItem itemValue="A" itemLabel="Administrador" />
<f:selectItem itemValue="U" itemLabel="Usuário" />
</p:selectOneRadio>
</h:panelGrid>
<h:panelGrid columns="2">
<p:commandButton value="Salvar"
actionListener="#{funcionariosBean.salvar}"
update=":mensagem :formCadastro:painel :formListagem:tabela" />
<p:commandButton value="Fechar" oncomplete="PF('dialogo').hide();" />
</h:panelGrid>
</h:form>
</p:dialog>
</ui:define>
</ui:composition>