pessoal alguem pode me ajudar com este erro abaixo
br.com.caelum.vraptor.InterceptionException: exception raised, check root cause for details: java.lang.IllegalArgumentException: attempt to create saveOrUpdate event with null entity
br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:86)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:69)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:90)
br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:44)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70)
br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)
br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)
root cause
java.lang.IllegalArgumentException: attempt to create saveOrUpdate event with null entity
org.hibernate.event.SaveOrUpdateEvent.<init>(SaveOrUpdateEvent.java:63)
org.hibernate.event.SaveOrUpdateEvent.<init>(SaveOrUpdateEvent.java:46)
org.hibernate.impl.SessionImpl.update(SessionImpl.java:579)
org.hibernate.impl.SessionImpl.update(SessionImpl.java:571)
br.com.AromaNaWeb.dao.PagamentosDao.atualiza(PagamentosDao.java:34)
br.com.AromaNaWeb.controller.PagamentosController.altera(PagamentosController.java:87)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:57)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:69)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:90)
br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:44)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70)
br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)
br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)
Acontece na hora de editar o pagamento , sendo que para gravar um novo pagamento esta tudo correto .
este é o controller do pagamento
public class PagamentosController {
private final PagamentosDao dao;
private Result result;
private Validator validator;
private UsuarioWeb usuario;
public PagamentosController(PagamentosDao dao, Result result, Validator validator, UsuarioWeb usuario) {
this.dao = dao;
this.validator = validator;
this.result = result;
this.usuario = usuario;
}
@Get @Path("/pagamentos/confirmar/{pagamentoid}")
public Pagamentos confirmar(Long pagamentoid){
return dao.carrega(pagamentoid);
}
@Get @Path("/pagamentos")
public List<Pagamentos> lista() {
return dao.listaTudo();
}
@Post @Path("/pagamentos")
public void adiciona(final Pagamentos pagamentos) {
dao.salva(pagamentos);
result.redirectTo(PagamentosController.class).lista();
// result.use(Results.logic()).redirectTo(ProdutosController.class).lista();
}
@Path("/pagamentos/detalhes/{pagamentoid}")
public Pagamentos detalhes(Long pagamentoid){
return dao.carrega(pagamentoid);
}
@Get @Path("/pagamentos/novo/{pagamentoid}")
public void formulario() {
}
@Get @Path("/pagamentos/{pagamentoid}")
public Pagamentos edita(Long pagamentoid) {
return dao.carrega(pagamentoid);
}
@Post @Path("/pagamentos/{pagamentos.pagamentoid}")
public void altera(Pagamentos pagamentoid) {
dao.atualiza(pagamentoid);
result.redirectTo(PagamentosController.class).lista();
}
@Path("/pagamentos/remove/{pagamentoid}")
public void remove(Long pagamentoid) {
Pagamentos pagamento = dao.carrega(pagamentoid);
dao.remove(pagamento);
result.redirectTo(PagamentosController.class).lista();
}
}
este e o modelo de pagamentos …
@Entity
public class Pagamentos {
@Id @GeneratedValue
private Long pagamentoid;
private Date datapagamento;
private Double valorpagamento;
private SituacaoPagamento situacaopagamento;
@ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
@JoinColumn(name="codigopedido",
insertable=true, updatable=true)
private Pedido codigopedido;
public Long getPagamentoid() {
return pagamentoid;
}
public void setPagamentoid(Long pagamentoid) {
this.pagamentoid = pagamentoid;
}
public Date getDatapagamento() {
return datapagamento;
}
public void setDatapagamento(Date datapagamento) {
this.datapagamento = datapagamento;
}
public Double getValorpagamento() {
return valorpagamento;
}
public void setValorpagamento(Double valorpagamento) {
this.valorpagamento = valorpagamento;
}
public Pedido getCodigopedido() {
return codigopedido;
}
public void setCodigopedido(Pedido codigopedido) {
this.codigopedido = codigopedido;
}
public SituacaoPagamento getSituacaopagamento() {
return situacaopagamento;
}
public void setSituacaopagamento(SituacaoPagamento situacaopagamento) {
this.situacaopagamento = situacaopagamento;
}
}
Se alguem souber como resolver isto …