Entidade Nula

1 resposta
ArthurTurtle

Boa tarde a todos...

Bem eu to com um probleminha... eu fiz uma uma aplicação web usando o VRaptor e o Hibernate, o meu problema é: Quando eu to no formulario e pressiono pra ele enviar os dados para o banco ele me lança uma exeption:
br.com.caelum.vraptor.InterceptionException: an exception was raised while executing resource method
	at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:86)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) 
//Resto do exeption
Caused by: java.lang.IllegalArgumentException: attempt to create saveOrUpdate event with null entity
	at org.hibernate.event.SaveOrUpdateEvent.<init>(SaveOrUpdateEvent.java:63)
	at org.hibernate.event.SaveOrUpdateEvent.<init>(SaveOrUpdateEvent.java:46)
	at org.hibernate.impl.SessionImpl.save(SessionImpl.java:551)
	at org.hibernate.impl.SessionImpl.save(SessionImpl.java:547)
	at br.com.steno.dao.GloboDao.adiciona(GloboDao.java:23)
	at br.com.caelum.vraptor.controller.GloboController.adiciona(GloboController.java:22)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:57)
	... 37 more
Eu ate entendi ele falo q eu estou passando umvalor nulo, quando não deveria, eu fiz o debug e descobri que esse valor nulo é o globo. da pagina JSP:
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
	<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript" src="<c:url value="/js/jquery.js"/>"></script>
<script type="text/javascript" src="<c:url value="/js/jquery-ui.js"/>"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Cadastro </title>
</head>
<body>
<h1>Cadastro de programas</h1>
<form action="<c:url value="/globo/adiciona"/>">
	Programa: <input type="text" id=" (valor nullo) globo.programa" /><br/>
	Horario: <input type="text" id="globo.horario" /><br/>
	CC: <input type="text" id="globo.cc"  size="10"/><br/>
	AD: <input type="text" id="globo.ad" size="10"/><br/>
	TT: <input type="text" id="globo.tt" size="10"/><br/>
    <br />
    <input type="submit" /><input type="reset" value="Limpar campos"/>
    
    </form>

</body>
</html>
E eu não sei o poruqe dele estar passado ele como nullo, o meu Controller esta assim:
package br.com.caelum.vraptor.controller;

import java.util.List;


import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.com.steno.dao.GloboDao;
import br.com.steno.modelo.Globo;

@Resource
public class GloboController {
	private Result result;
	public GloboController(Result result){
		this.result=result;
	}
	
	public List<Globo> programacao1(){
		return new GloboDao().programacao();
	}
	public void adiciona(Globo globo){
		new GloboDao().adiciona(globo);
		result.forwardTo(GloboController.class).cadastro();
		
	}
	 public void remove(Globo globo) {
		 new GloboDao().remove(globo);
	
	}
	 public void atualiza(Globo globo){
		 new GloboDao().atualiza(globo);
		
	}
	

	public void programacao(){
	
	}
		
	public void cadastro(){
		
	}	
		
		
}

Alguem tem alguma ideia o porque ele esta passando o globo como nullo?

1 Resposta

J

Você não declarou os GET e SET das variáveis na action.

Criado 6 de abril de 2011
Ultima resposta 5 de mai. de 2011
Respostas 1
Participantes 2