Ola, pessoal
Tenho um PRODUTO que esta agregado a uma CONTA_RAZÃO.
Estou listando as contas e tudo e quando vou salvar gera o erro.
Alguma solução para o problema?
Classe bean
@Controller
@Scope(value="session")
@ManagedBean(name="produtoBeanView")
public class ProdutoBeanView extends BeanManagerViewAbstract {
private static final long serialVersionUID = 1L;
private String url = "/cadastro/cad_produto.jsf?faces-redirect=true";
private String urlFind = "/cadastro/find_produto.jsf?faces-redirect=true";
private Produto objetoSelecionado = new Produto();
private List<Produto> produtos = new ArrayList<Produto>();
private List<ContaRazao> contas = new ArrayList<ContaRazao>();
@Autowired
private ProdutoController produtoController;
@Autowired
private ContaRazaoController contaController;
@Override
public String save() throws Exception {
objetoSelecionado = produtoController.merge(objetoSelecionado);
return "";
}
@Override
public void saveNotReturn() throws Exception {
produtos.clear();
objetoSelecionado = produtoController.merge(objetoSelecionado);
produtos.add(objetoSelecionado);
objetoSelecionado = new Produto();
sucesso();
}
@Override
public StreamedContent getArquivoReport() throws Exception {
return super.getArquivoReport();
}
@Override
public void saveEdit() throws Exception {
saveNotReturn();
}
@Override
public String novo() throws Exception {
setarVariaveisNulas();
return url;
}
public List<ContaRazao> getlistaRC() throws Exception{
contas = contaController.findList(ContaRazao.class);
return contas;
}
public List<Produto> getProdutos() throws Exception {
produtos = produtoController.findList(getClassImplement());
return produtos;
}
::PAGINA SELECT
<p:outputLabel for="conta" value="Conta Razão "/>
<p:selectOneMenu id="conta" filter="true" value="#produtoBeanView.objetoSelecionado.conta}" converter="omnifaces.SelectItemsConverter"
required="true" requiredMessage="Faltou selecionar o campo obrigatório 'Conta Razão'!!">
<f:selectItem noSelectionOption="true" itemLabel="Selecione uma RC"/>
<f:selectItems value="#{produtoBeanView.listaRC}" var="cursorRC"
itemLabel="#{cursorRC.descricao} - #{cursorRC.conta}" itemValue="#{cursorRC}"/>
::ERRO_GERADO
abr 22, 2018 3:11:42 PM com.sun.faces.lifecycle.InvokeApplicationPhase execute
ADVERTÊNCIA: org.hibernate.PropertyValueException: not-null property references a null or transient value: br.com.project.model.classes.ContaRazao.descricao
javax.el.ELException: org.hibernate.PropertyValueException: not-null property references a null or transient value: br.com.project.model.classes.ContaRazao.descricao
at com.sun.el.parser.AstValue.invoke(AstValue.java:238)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:149)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:813)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52).....
Caused by: org.hibernate.PropertyValueException: not-null property references a null or transient value: br.com.project.model.classes.ContaRazao.descricao
at org.hibernate.engine.Nullability.checkNullability(Nullability.java:100)
at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:312)
at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:203)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:129)
at org.hibernate.event.def.DefaultMergeEventListener.saveTransientEntity(DefaultMergeEventListener.java:415)
at org.hibernate.event.def.DefaultMergeEventListener.mergeTransientEntity(DefaultMergeEventListener.java:341)
at org.hibernate.event.def.DefaultMergeEventListener.entityIsTransient(DefaultMergeEventListener.java:303)
at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:258)
at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:84)
at org.hibernate.impl.SessionImpl.fireMerge(SessionImpl.java:867)
at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:851)
at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:855)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:345)
at com.sun.proxy.$Proxy117.merge(Unknown Source)
at br.com.framework.implementacao.crud.ImplemantacaoCRUD.merge(ImplemantacaoCRUD.java:85)
at br.com.project.bean.view.ContaRazaoBeanView.saveNotReturn(ContaRazaoBeanView.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.el.parser.AstValue.invoke(AstValue.java:234)
... 73 more
javax.faces.FacesException: org.hibernate.PropertyValueException: not-null property references a null or transient value: br.com.project.model.classes.ContaRazao.descricao
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:89)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:70)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)....