Erro vraptro hibernate

0 respostas
tompereira

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 …

Criado 29 de novembro de 2010
Respostas 0
Participantes 1