Pessoal… comecei minha vida em programação recentemente e tenho muitos problemas (lógica também acredito)
estou fazendo um sistema para treinar, feito com o uso de algumas tecnologias … Spring + JSF + Hibernate…
o sistema é de lava jato
tenho uma tabela de itens de lavagem e lavagem
itens de lavagem faz referencia a lavagem e lavagem faz referencia a tabela cliente.
é o seguinte estou tentando criar o metodo de inserir os itens de lavagem… e por isso estou fazendo o seguinte e está me dando essa mensagem
javax.persistence.PersistenceException: org.hibernate.PropertyValueException: not-null property references a null or transient value: com.xxx.lavajato.domain.ItensLavagem.descricao
package com.xxx.lavajato.web;
//imports
@Controller("itensLavagemController")
public class ItensLavagemController {
@Resource
private LavagemController lavagemController;
private ItensLavagem itensLavagem;
@Resource
private ItensLavagemService itensLavagemService;
public ItensLavagemController() {
itensLavagem = new ItensLavagem();
itensLavagem.setLavagem(new Lavagem());
}
public String inserir() {
itensLavagem.setLavagem(getLavagemController().getLavagem());
itensLavagemService.createItensLavagem(itensLavagem);
itensLavagem = new ItensLavagem();
return "formLavagem";
}
public String voltar(){
lavagemController.setLavagem(new Lavagem());
return "formPrincipal";
}
//getters e setters
}
<?xml version="1.0" encoding="ISO-8859-1"?>
<!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:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:stella="http://stella.caelum.com.br/faces"
xmlns:rich="http://richfaces.org/rich">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<ui:composition template="/template/template.xhtml">
<ui:define name="corpo">
<rich:messages />
<fieldset>
<legend>Cadastro de Lavagens dos Clientes</legend>
<a4j:region id="regiaoAjax">
<a4j:status id="sts">
<f:facet name="start">
<h:graphicImage value="/images/ajax-loader.gif" />
</f:facet>
</a4j:status>
</a4j:region>
<h:form>
<h:panelGrid columns="2">
<h:outputLabel for="nomeLabel" value="Digite o nome: " />
<h:inputText id="nomeInput" value="#{clienteController.cliente.nome}" style=" width : 300px;" />
<h:commandButton value="Pesquisar" action="#{clienteController.procuraByNomeLavagem}" styleClass="botoes"/>
</h:panelGrid>
</h:form>
<h:form>
<h:panelGrid columns="2" id="panelGridInputs">
<h:outputLabel for="nome" value="Nome: " />
<h:inputText id="nome" readonly = "true" value="#{clienteController.cliente.nome}" style=" width : 254px;"/>
<h:outputLabel for="cpf" value="CPF: " />
<h:inputText id="cpf" readonly="true" value="#{clienteController.cliente.cpf}" size="40" style=" width : 80px;" />
</h:panelGrid>
</h:form>
<h:form>
<h:panelGrid columns="2" id="itensInputs">
<h:outputLabel for="itensLavagem" value="Descrição: " />
<h:inputText id="itensLavagem" value="#{itensLavagemController.itensLavagem.descricao}" styleClass="edit" size="11" />
<h:outputLabel for="valorItem" value="Valor do Item: " />
<h:inputText id="valorItem" value="#{itensLavagemController.itensLavagem.valorItemLavagem}" styleClass="edit" size="11" />
</h:panelGrid>
</h:form>
<h:form>
<h:panelGrid columns="2" id="inputs">
<h:outputLabel for="valor" value="Valor Total: " />
<h:inputText id="valor" value="#{lavagemController.lavagem.valorLavagem}" styleClass="edit" size="11" />
<h:outputLabel for="status" value="Status: " />
<h:inputText id="status" value="#{lavagemController.lavagem.status}" styleClass="edit" size="11" />
<h:commandButton value="Inserir" action="#{itensLavagemController.inserir}" status="sts" reRender="inputs" styleClass="botoes"/>
<h:commandButton value="Voltar" immediate="true" action="formPrincipal" styleClass="botoes"/>
</h:panelGrid>
</h:form>
</fieldset>
</ui:define>
</ui:composition>
</html>