Galera Beleza?
to criando um projeto pra faculdade (Isso já diz o quão iniciante sou) e na hora de gravar os dados no Banco de dado ele ta me dando uma Exception que já tentei de tudo para resolver e agora recorro aos senhores.
Classe Model:
package br.com.guide10.models;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import org.hibernate.annotations.Cascade;
import org.hibernate.validator.constraints.NotBlank;
/**
*
* @author wesll
*/
@Entity
@Table(name = "c_compguide")
public class ComposicaoModel {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int idGuide;
@NotBlank
private String guide;
@ManyToOne
@JoinColumn(name = "idCurso")
private CursoModel curso;
@OneToOne (mappedBy = "guide")
private AvaliacaoModel avaliacao;
public int getIdGuide() {
return idGuide;
}
public void setIdGuide(int idGuide) {
this.idGuide = idGuide;
}
public String getGuide() {
return guide;
}
public void setGuide(String guide) {
this.guide = guide;
}
public CursoModel getCurso() {
return curso;
}
public void setCurso(CursoModel curso) {
this.curso = curso;
}
public AvaliacaoModel getAvaliacao() {
return avaliacao;
}
public void setAvaliacao(AvaliacaoModel avaliacao) {
this.avaliacao = avaliacao;
}
}
Classe Controller:
package br.com.guide10.controller;
import java.util.List;
import javax.inject.Inject;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import br.com.caelum.vraptor.Controller;
import br.com.caelum.vraptor.Result;
import br.com.caelum.vraptor.validator.Validator;
import br.com.guide10.business.CursoBO;
import br.com.guide10.models.ComposicaoModel;
@Controller
public class ComposicaoController {
@Inject
private EntityManager entityManager;
@Inject
private Result result;
@Inject
private Validator validator;
private CursoBO cursoBO;
public void list () {
Query query = this.entityManager.createQuery("from ComposicaoModel");
List<ComposicaoModel> composicao = query.getResultList();
result.include("composicao", composicao);
}
public void edit(ComposicaoModel composicao) {
cursoBO = new CursoBO();
result.include("cursos", cursoBO.getListCurso(entityManager));
result.include("composicao", composicao);
}
public void save (ComposicaoModel composicao) {
validator.validate(composicao);
validator.onErrorForwardTo(this).edit(composicao);
if(composicao.getIdGuide()==0) {
create(composicao);
}else {
update(composicao);
}
}
public void create(ComposicaoModel composicao) {
this.entityManager.persist(composicao);
result.forwardTo(this).edit(null);
}
public void read(ComposicaoModel composicao) {
composicao = this.entityManager.find( ComposicaoModel.class, composicao.getIdGuide() );
result.forwardTo(this).edit(composicao);
}
public void update (ComposicaoModel composicao) {
this.entityManager.merge(composicao);
result.forwardTo(this).edit(null);
}
public void delete (ComposicaoModel composicao) {
composicao = this.entityManager.find(ComposicaoModel.class, composicao.getIdGuide());
this.entityManager.remove(composicao);
result.forwardTo(this).list();
}
}
E o Erro em questão ocorre quando estou adicionando este trecho ao meu JSP:
<select name="composicao.curso.idCurso">
<c:forEach items="${cursos}" var="curso">
<option value="curso.idCurso" <c:if test="${curso.idCurso == composicao.curso.idCurso}">SELECTED</c:if> >${curso.nomeCurso}</option>
</c:forEach>
Erro:
abr 11, 2020 2:28:13 AM org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet [default] in context with path [/guide10] threw exception
br.com.caelum.vraptor.http.InvalidParameterException: Exception when trying to instantiate Target(name=composicao, type=class br.com.guide10.models.ComposicaoModel)
at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.handleException(VRaptorInstantiator.java:129)
at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.handleException(VRaptorInstantiator.java:131)
at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:123)
at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:115)
at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator$Proxy$_$$_WeldClientProxy.instantiate(Unknown Source)
at br.com.caelum.vraptor.http.iogi.IogiParametersProvider.instantiateOrAddError(IogiParametersProvider.java:87)
at br.com.caelum.vraptor.http.iogi.IogiParametersProvider.instantiateParameters(IogiParametersProvider.java:80)
at br.com.caelum.vraptor.http.iogi.IogiParametersProvider.getParametersFor(IogiParametersProvider.java:72)
at br.com.caelum.vraptor.http.iogi.IogiParametersProvider$Proxy$_$$_WeldClientProxy.getParametersFor(Unknown Source)
at br.com.caelum.vraptor.observer.ParametersInstantiator.getParametersForCurrentMethod(ParametersInstantiator.java:149)
at br.com.caelum.vraptor.observer.ParametersInstantiator.instantiate(ParametersInstantiator.java:89)
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.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
at org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
at org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.start(DefaultInterceptorStack.java:90)
at br.com.caelum.vraptor.core.DefaultInterceptorStack$Proxy$_$$_WeldClientProxy.start(Unknown Source)
at br.com.caelum.vraptor.observer.RequestHandlerObserver.handle(RequestHandlerObserver.java:93)
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.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
at org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
at org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:123)
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:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
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:688)
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:373)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1594)
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: java.lang.IllegalArgumentException
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 net.vidageek.mirror.provider.java.PureJavaMethodReflectionProvider.invoke(PureJavaMethodReflectionProvider.java:38)
at net.vidageek.mirror.invoke.MethodHandlerByMethod.withArgs(MethodHandlerByMethod.java:54)
at br.com.caelum.iogi.reflection.NewObject$Setter.set(NewObject.java:87)
at br.com.caelum.iogi.reflection.NewObject.setProperty(NewObject.java:59)
at br.com.caelum.iogi.reflection.NewObject.populateProperties(NewObject.java:52)
at br.com.caelum.iogi.reflection.NewObject.valueWithPropertiesSet(NewObject.java:42)
at br.com.caelum.iogi.ObjectInstantiator.instantiate(ObjectInstantiator.java:35)
at br.com.caelum.iogi.MultiInstantiator.instantiate(MultiInstantiator.java:20)
at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:121)
at br.com.caelum.iogi.reflection.NewObject.setProperty(NewObject.java:58)
at br.com.caelum.iogi.reflection.NewObject.populateProperties(NewObject.java:52)
at br.com.caelum.iogi.reflection.NewObject.valueWithPropertiesSet(NewObject.java:42)
at br.com.caelum.iogi.ObjectInstantiator.instantiate(ObjectInstantiator.java:35)
at br.com.caelum.iogi.MultiInstantiator.instantiate(MultiInstantiator.java:20)
at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:121)
... 57 more