Relacionar um veiculo a um cliente ja cadastrado

Estou tentando adicionar um Veiculo para um ‘Cliente’ as entidades possuem uma relação OneToMany, onde um cliente pode ter vários veículos.

Na minha pagina de pesquisa, estou enviando o id do cliente para a tela de “NOVO VEICULO”

<p:button outcome="/cliente/NovoVeiculo.xhtml" icon="ui-icon-plusthick" title="Novo Veiculo" >
<f:param name="cliente" value="#{cliente.id}" />
</p:button>

Na pagina de novo veiculo, recebo o id pela URL

<f:metadata>
<o:viewParam name="cliente" value="#{novoVeiculoBean.cliente}" />
</f:metadata>

image

Meu Bean

    private Cliente cliente;
    private Veiculo veiculo;

    @Inject
    private VeiculoService veiculoService;


public NovoVeiculoBean() {
	limpar();
}

public void limpar() {
	veiculo = new Veiculo();
}


public void novoVeiculo() {
	
	this.veiculo.setCliente(this.cliente);
	
	//cadastrarCarro();
	this.veiculoService.salvarVeiculo(veiculo);
	
	FacesUtil.addInforMessage("Cadastro realizado com sucesso!");
}

          GET and SET 
}

image

Ao persistir tenho esse erro:

ADVERTÊNCIA: #{novoVeiculoBean.novoVeiculo}: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: model.Cliente.veiculo, could not initialize proxy - no Session
javax.faces.FacesException: #{novoVeiculoBean.novoVeiculo}: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: model.Cliente.veiculo, could not initialize proxy - no Session
	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
	at javax.faces.component.UICommand.broadcast(UICommand.java:315)
	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:658)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:770)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Unknown Source)
Caused by: javax.faces.el.EvaluationException: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: model.Cliente.veiculo, could not initialize proxy - no Session
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101)
	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
	... 29 more
Caused by: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: model.Cliente.veiculo, could not initialize proxy - no Session
	at org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:566)
	at org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:186)
	at org.hibernate.collection.internal.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:545)
	at org.hibernate.collection.internal.AbstractPersistentCollection.write(AbstractPersistentCollection.java:370)
	at org.hibernate.collection.internal.PersistentBag.add(PersistentBag.java:291)
	at Controller.NovoVeiculoBean.novoVeiculo(NovoVeiculoBean.java:37)
	at Controller.NovoVeiculoBean$Proxy$_$$_WeldClientProxy.novoVeiculo(NovoVeiculoBean$Proxy$_$$_WeldClientProxy.java)
	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.apache.el.parser.AstValue.invoke(AstValue.java:247)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:267)
	at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:39)
	at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
	... 30 more