Alterei o titulo do meu tópico pois o problema e um pouco mais profundo.
Produto.xhtml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://xmlns.jcp.org/jsf/core">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Produtos</title>
</h:head>
<h:body>
<p:growl id="mensagem" />
<h:form id="FRMLista">
<p:panel header="Cidades - Listagem">
<p:dataTable id="PNTabela" emptyMessage="Nenhuma Registro Encontrado" paginator="true" value="#{produtoBean.produtos}" var="produto" rows="10">
<f:facet name="footer">
<p:commandButton value="Adicionar" actionListener="#{produtoBean.novo()}" oncomplete="PF('PDialog').show();" update=":mensagem :FMCadastro:PNDados" >
<f:actionListener type="org.omnifaces.eventlistener.ResetInputAjaxActionListener" />
</p:commandButton>
</f:facet>
<p:column headerText="Codigo de Barras" filterBy="#{produto.codigoNacional}" sortBy="#{produto.codigoNacional}" >
<h:outputText value="#{produto.codigoNacional}" />
</p:column>
<p:column headerText="Codigo Int. de Barras" filterBy="#{produto.codigoInternacional}" sortBy="#{produto.codigoInternacional}" >
<h:outputText value="#{produto.codigoInternacional}" />
</p:column>
<p:column headerText="Nome" filterBy="#{produto.nome}" sortBy="#{produto.nome}" >
<h:outputText value="#{produto.nome}" />
</p:column>
<p:column headerText="Dados" >
<h:outputText value="#{produto.descricao}" />
</p:column>
<p:column headerText="Estoque" filterBy="#{produto.quantidade}" sortBy="#{produto.quantidade}" >
<h:outputText value="#{produto.quantidade}" />
</p:column>
<p:column headerText="Promoção" filterBy="#{produto.promocao}" sortBy="#{produto.promocao}" >
<h:outputText value="#{produto.promocao}" />
</p:column>
<p:column headerText="Valor" filterBy="#{produto.preco}" sortBy="#{produto.preco}" >
<h:outputText value="#{produto.preco}" />
</p:column>
<p:column headerText="Fabricante" filterBy="#{produto.fabricante}" sortBy="#{produto.fabricante}" >
<h:outputText value="#{produto.fabricante.nome}" />
</p:column>
<p:column headerText="Opção">
<p:commandButton icon="ui-icon-trash" actionListener="#{produtoBean.excluir}" update=":FRMLista:PNTabela">
<p:confirm header="Confirmação" message="Deseja excluir o produto ?" icon="ui-icon-alert" />
<f:attribute name="produtoSelecao" value="#{produto}" />
</p:commandButton>
<p:commandButton icon="ui-icon-pencil" actionListener="#{produtoBean.editar}" update=":FMCadastro:PNDados" oncomplete="PF('PDialog').show();" >
<f:attribute name="produtoSelecao" value="#{produto}" />
<f:actionListener type="org.omnifaces.eventlistener.ResetInputAjaxActionListener" />
</p:commandButton>
</p:column>
</p:dataTable>
<p:confirmDialog global="true">
<p:commandButton value="Confirmar" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
<p:commandButton value="cancelar" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
</p:confirmDialog>
</p:panel>
</h:form>
<p:dialog header="Cidades - Cadastro" widgetVar="PDialog" draggable="false" resizable="false" modal="true" closable="false">
<h:form id="FMCadastro">
<h:panelGrid id="PNDados" columns="2">
<p:outputLabel for="nome" value="Nome :" />
<p:inputText id="nome" size="30" value="#{produtoBean.produto.nome}" required="true" requiredMessage="Este Campo e Obrigatorio !"/>
<p:outputLabel for="cbn" value="Código de Barras :" />
<p:inputText id="cbn" size="30" value="#{produtoBean.produto.codigoNacional}" required="true" requiredMessage="Este Campo e Obrigatorio !" >
<p:outputLabel for="cbi" value="Código Int/Barras :" />
<p:inputText id="cbi" size="30" value="#{produtoBean.produto.codigoInternacional}" required="true" requiredMessage="Este Campo e Obrigatorio !"/>
<p:outputLabel for="valor" value="Valor :" />
<p:inputText id="valor" size="30" value="#{produtoBean.produto.preco}" required="true" requiredMessage="Este Campo e Obrigatorio !"/>
<p:outputLabel for="quant" value="Estoque :" />
<p:inputText id="quant" size="30" value="#{produtoBean.produto.quantidade}" required="true" requiredMessage="Este Campo e Obrigatorio !"/>
<p:outputLabel for="promo" value="Promoção :" />
<p:inputText id="promo" size="30" value="#{produtoBean.produto.promocao}" required="true" requiredMessage="Este Campo e Obrigatorio !"/>
<p:outputLabel for="fabric" value="Fabricante :"/>
<p:selectOneMenu id="fabric" filter="true" value="#{produtoBean.produto.fabricante}" converter="omnifaces.SelectItemsConverter" required="true" requiredMessage="Informe o Estado !">
<f:selectItem noSelectionOption="true" itemLabel="Selecione um Estado" />
<f:selectItems value="#{produtoBean.fabricantes}" var="fabricante" itemValue="#{fabricante}" itemLabel="#{fabricante.nome}" />
</p:selectOneMenu>
<p:outputLabel for="info" value="Informações :" />
<p:editor id="info" size="30" value="#{produtoBean.produto.descricao}" required="true" requiredMessage="Este Campo e Obrigatorio !"/>
</h:panelGrid>
<h:panelGrid columns="2">
<p:commandButton value="Salvar" actionListener="#{produtoBean.salvar}" update=":mensagem :FMCadastro:PNDados :FRMLista:PNTabela" />
<p:commandButton value="Cancelar" oncomplete="PF('PDialog').hide();" />
</h:panelGrid>
</h:form>
</p:dialog>
</h:body>
</html>
Log de Erro
org.hibernate.PropertyValueException: not-null property references a null or transient value : com.woopper.workshopping.domain.Produto.Preco
at org.hibernate.engine.internal.Nullability.checkNullability(Nullability.java:106)
at org.hibernate.action.internal.AbstractEntityInsertAction.nullifyTransientReferencesIfNotAlready(AbstractEntityInsertAction.java:132)
at org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:86)
at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:492)
at org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:197)
at org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:181)
at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:216)
at org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:334)
at
@Column( nullable = false, precision = 7, scale = 2 )
private BigDecimal Preco;
<p:outputLabel for="valor" value="Valor :" />
<p:inputText id="valor" size="30" value="#{produtoBean.produto.preco}"
required="true" requiredMessage="Este Campo e Obrigatorio !"/>
Desde já deicho claro que nao sou auto de data com programação java web, mais tenho o conhecimento de java para Desktop, passei uma semana quebrando a cabeça e não achei uma forma de corrigir o erro, pesso umildemente a ajuda de vocês acaso for possivel. ?
preciso gravar o preço do produto dentro do banco de dados mais sempre que vou gravar o proço ele retorna falando que meu produto esta null ou que ele esta not_null, porém e ai que vem o problema o preço do produto deve ser sim informado, portanto e um campo obrigatorio.