Erro no Hibernate ao dar UPDATE

Bom dia pessoal, estou a pouco tempo desenvolvendo com hibernate como persistencia e travei ao fazer o atualizar segue o codigo:

SisGerController.java

package br.com.sisger.controller;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import br.com.sisger.model.command.InterfaceCommand;
import br.com.sisger.model.helper.SisGerHelper;

/**
 * Servlet implementation class for Servlet: SisGerControllet
 *
 */
 public class SisGerController extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
   static final long serialVersionUID = 1L;
   
    /* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#HttpServlet()
	 */
	public SisGerController() {
		super();
	}   	
	
	/* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	private void processarRequisicao(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		SisGerHelper sisGerHelper = new SisGerHelper(request);
		InterfaceCommand command = sisGerHelper.getCommand();
		String pagina = command.execute(request, response);
		request.getRequestDispatcher(pagina).forward(request, response);
		
	}
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		this.processarRequisicao(request, response);
	}  	
	
	/* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		this.processarRequisicao(request, response);
	}   	  	    
}

Fornecedor.java

package br.com.sisger.model.bean;

import java.sql.Date;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.List;



public class Fornecedor {

	private Integer codigo;
	private String nome;
	private String endereco;
	private String email;
	private String bairro;
	private String cidade;
	private String cep;
	private String estado;
	private String fone;
	private String celular;
	private String cpf;
	private String obs;
	private String rg;
	private String orgaorg;
	private Date desde;
	private String cnpj;
	private String insest;
	private String fax;
	private String contato;
	private String auditoria;
	private Integer codEmpresa;
	
	
	private List<Produto> produtos;
	
	
	
	
	public Integer getCodigo() {
		return codigo;
	}
	public void setCodigo(Integer codigo) {
		this.codigo = codigo;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getEndereco() {
		return endereco;
	}
	public void setEndereco(String endereco) {
		this.endereco = endereco;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getBairro() {
		return bairro;
	}
	public void setBairro(String bairro) {
		this.bairro = bairro;
	}
	public String getCidade() {
		return cidade;
	}
	public void setCidade(String cidade) {
		this.cidade = cidade;
	}
	public String getCep() {
		return cep;
	}
	public void setCep(String cep) {
		this.cep = cep;
	}
	public String getEstado() {
		return estado;
	}
	public void setEstado(String estado) {
		this.estado = estado;
	}
	public String getFone() {
		return fone;
	}
	public void setFone(String fone) {
		this.fone = fone;
	}
	public String getCelular() {
		return celular;
	}
	public void setCelular(String celular) {
		this.celular = celular;
	}
	public String getCpf() {
		return cpf;
	}
	public void setCpf(String cpf) {
		this.cpf = cpf;
	}
	public String getObs() {
		return obs;
	}
	public void setObs(String obs) {
		this.obs = obs;
	}
	public String getRg() {
		return rg;
	}
	public void setRg(String rg) {
		this.rg = rg;
	}
	public String getOrgaorg() {
		return orgaorg;
	}
	public void setOrgaorg(String orgaorg) {
		this.orgaorg = orgaorg;
	}
	
	// Valor que nao existe tratado
	public Date getDesde() {
		return desde;
	}
	public void setDesde(Date desde) {
		this.desde = desde;
	}
	
	public void setDesdeString(String desdeString) throws ParseException {
		if(desdeString != null && !desdeString.equals(""))
		{
			DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
			setDesde(new Date(df.parse(desdeString).getTime()));
		}
		
	}
	
	
	public String getCnpj() {
		return cnpj;
	}
	public void setCnpj(String cnpj) {
		this.cnpj = cnpj;
	}
	public String getInsest() {
		return insest;
	}
	public void setInsest(String insest) {
		this.insest = insest;
	}
	public String getFax() {
		return fax;
	}
	public void setFax(String fax) {
		this.fax = fax;
	}
	public String getContato() {
		return contato;
	}
	public void setContato(String contato) {
		this.contato = contato;
	}
	public String getAuditoria() {
		return auditoria;
	}
	public void setAuditoria(String auditoria) {
		this.auditoria = auditoria;
	}
	public List<Produto> getProdutos() {
		return produtos;
	}
	public void setProdutos(List<Produto> produtos) {
		this.produtos = produtos;
	}
	
	
	public Integer getProdutosSize()
	{
		if(getProdutos() != null)
		{
			return produtos.size();
			
		}else
		{
			return 0;
		}
		
	}
	
	
	//Validador do Formulario Fornecedor
	public boolean isValido()
	{
		if(nome == null || nome.equals(""))
		{
			return false;
		}
		
		if(fone == null || fone.equals(""))
		{
			return false;
		}
		return true;
		
	}
	public Integer getCodEmpresa() {
		return codEmpresa;
	}
	public void setCodEmpresa(Integer codEmpresa) {
		this.codEmpresa = codEmpresa;
	}

	
	
	
}

Fornecedor.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC 
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
	<class name="br.com.sisger.model.bean.Fornecedor" table="fornecedor">
		<id name="codigo">
			<generator class="native"></generator>
		</id>
		<property name="nome"></property>
		<property name="endereco"></property>
		<property name="email"></property>
		<property name="bairro"></property>
		<property name="cidade"></property>
		<property name="cep"></property>
		<property name="estado"></property>
		<property name="fone"></property>
		<property name="celular"></property>
		<property name="cpf"></property>
		<property name="obs"></property>
		<property name="rg"></property>
		<property name="orgaorg"></property>
		<property name="desde"></property>
		<property name="cnpj"></property>
		<property name="insest"></property>
		<property name="fax"></property>
		<property name="contato"></property>
		<property name="auditoria"></property>
		<property name="codEmpresa"></property>
		
		<bag name="produtos" table="produto" inverse="true" lazy="false" fetch="select" cascade="all">
			<key column="fornecedor_codigo"></key>
			<one-to-many class="br.com.sisger.model.bean.Produto"/>
		</bag>
		
	</class>
</hibernate-mapping>

AtualizarFornecedor

package br.com.sisger.model.command;

import java.lang.reflect.InvocationTargetException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.beanutils.BeanUtils;

import br.com.sisger.model.bean.Fornecedor;
import br.com.sisger.model.dao.HibernateDAO;
import br.com.sisger.model.dao.InterfaceDAO;

public class AtualizarFornecedor implements InterfaceCommand {

	public String execute(HttpServletRequest request,
			HttpServletResponse response) { 
		Fornecedor fornecedor = new Fornecedor();
		
		try {
			BeanUtils.populate(fornecedor, request.getParameterMap());
			if(fornecedor.isValido())
			{
				InterfaceDAO<Fornecedor> fornecedorDAO = new HibernateDAO<Fornecedor>(Fornecedor.class);
				fornecedorDAO.atualizar(fornecedor);
				request.setAttribute("mensagem", "Fornecedor atualizado com sucesso.");
			}else if (request.getMethod().equalsIgnoreCase("post")) {
				request.setAttribute("fornecedor", fornecedor);
				request.setAttribute("mensagem", "Preencha os campos obrigatórios.");
				return "atualiza_fornecedor.jsp";
			}else{
				InterfaceDAO<Fornecedor> fornecedorDAO = new HibernateDAO<Fornecedor>(Fornecedor.class);
				Integer codigo = Integer.valueOf(request.getParameter("codigo"));
				request.setAttribute("fornecedor", fornecedorDAO.getBean(codigo));
				return "atualiza_fornecedor.jsp";
			}
		} catch (IllegalAccessException e) {
			request.setAttribute("mensagem", "Problemas com a atualização: "+e.getMessage());
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			request.setAttribute("mensagem", "Problemas com a atualização: "+e.getMessage());
			e.printStackTrace();
		}
		return "SiscomController?cmd=consultarFornecedor";
	}
}

ConsultarFornecedor.java

package br.com.sisger.model.command;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import br.com.sisger.model.bean.Fornecedor;
import br.com.sisger.model.dao.HibernateDAO;
import br.com.sisger.model.dao.InterfaceDAO;

public class ConsultarFornecedor implements InterfaceCommand {

	public String execute(HttpServletRequest request,
			HttpServletResponse response) {
		// TODO Auto-generated method stub
		InterfaceDAO<Fornecedor> fornecedorDAO = new HibernateDAO<Fornecedor>(Fornecedor.class);  
		List<Fornecedor> fornecedores = fornecedorDAO.getBeans();
		request.setAttribute("fornecedores", fornecedores);
		return "consulta_fornecedor.jsp";
	}

}

atualiza_fornecedor.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
 	<%-- Declaração da LIB core JSTL library --%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

    
    
    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Atualização de Fornecedor</title>
<link rel="stylesheet" type="text/css" href="css/principal.css">
<script language="JavaScript" type="text/javascript" src="javascript/Validacoes.js"></script> 

</head>
<body>

<div id="container">
	<div id="top">
		<h1> Atualização de Fornecedor</h1>
		<h3>${mensagem}</h3>
	</div>
	
	<div id="leftSide">
		<fieldset>
			
			<legend>Fornecedor</legend>
			
			<form id="form1" action="SisGerController" method="post" class="form">
				<input type="hidden" id="cmd" name="cmd" value="atualizarFornecedor" />
				<input type="hidden" id="codigo" name="codigo" value="${param.codigo}"/>

					
					<label for="nome">Nome*</label>
					<div class="div_texbox">
						<input type="text" name="nome" id="nome" value="${fornecedor.nome}"/>
					</div>
					
					<label for="endereco">Endereco</label>
					<div class="div_texbox">
						<input type="text" name="endereco" id="endereco" value="${fornecedor.endereco}"/>
					</div>
					
					<label for="bairro">Bairro</label>
					<div class="div_texbox">
						<input type="text" name="bairro" id="bairro" value="${fornecedor.bairro}"/>
					</div>

					<label for="cidade">Cidade</label>
					<div class="div_texbox">
						<input type="text" name="cidade" id="cidade" value="${fornecedor.cidade}"/>
					</div>
					
					<label for="estado">Estado</label>
					<div class="div_texbox">
						<input type="text" name="estado" id="estado" value="${fornecedor.estado}"/>
					</div>

					<label for="cep">Cep</label>
					<div class="div_texbox">
						<input type="text" name="cep" id="cep" onKeyPress="MascaraCep(form1.cep);" value="${fornecedor.cep}"/>
					</div>

					<label for="fone">Telefone*</label>
					<div class="div_texbox">
						<input type="text" name="fone" id="fone" value="${fornecedor.fone}"/>
					</div>

					<label for="celular">Celular</label>
					<div class="div_texbox">
						<input type="text" name="celular" id="celular" value="${fornecedor.celular}"/>
					</div>

					<label for="cpf">Cpf</label>
					<div class="div_texbox">
						<input type="text" name="cpf" id="cpf" value="${fornecedor.cpf}"/>
					</div>

					<label for="obs">Obs.</label>
					<div class="div_texbox">
						<input type="text" name="obs" id="obs" value="${fornecedor.obs}"/>
					</div>
					
					<label for="rg">RG</label>
					<div class="div_texbox">
						<input type="text" name="rg" id="rg" value="${fornecedor.rg}"/>
					</div>
					
					<label for="orgaorg">Orgão RG</label>
					<div class="div_texbox">
						<input type="text" name="orgaorg" id="orgaorg" value="${fornecedor.orgaorg}"/>
					</div>
					
					<label for="desdeString">Cliente Desde*</label>
					<div class="div_texbox">
						<input type="text" name="desdeString" id="desdeString" value="${fornecedor.desde}"/>
					</div>
					
					<label for="cnpj">CNPJ</label>
					<div class="div_texbox">
						<input type="text" name="cnpj" id="cnpj" value="${fornecedor.cnpj}"/>
					</div>
					
					<label for="insest">Ins. Estadual</label>
					<div class="div_texbox">
						<input type="text" name="insest" id="insest" value="${fornecedor.insest}"/>
					</div>
					
					<label for="fax">Fax</label>
					<div class="div_texbox">
						<input type="text" name="fax" id="fax" value="${fornecedor.fax}"/>
					</div>
					
					<label for="contato">Contato</label>
					<div class="div_texbox">
						<input type="text" name="contato" id="contato" value="${fornecedor.contato}"/>
					</div>

					<label for="email">Email</label>
					<div class="div_texbox">
						<input type="text" name="email" id="email" value="${fornecedor.email}"/>
					</div>
					
					<label for="codEmpresa">Código da Empresa</label>
					<div class="div_texbox">
						<input type="text" name="codEmpresa" id="codEmpresa" value="${fornecedor.codEmpresa}"/>
					</div>



					<div class="button_div">
						<input name="atualizar" type="submit" value="Atualizar" class="buttons"/>
					</div>

			</form>
			
		</fieldset>	
	</div>
	
	<!-- JSTL -->
	<div id="rightSide">
		<c:import url="menu.jsp"></c:import>
	</div>
	
</div>

</body>
</html>

consulta_fornecedor.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ page import="java.util.List, br.com.sisger.model.bean.Fornecedor, br.com.sisger.controller.SisGerController " %>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Consulta Fornecedor</title>
<link rel="stylesheet" type="text/css" href="css/consultaFornecedor.css">

<script type="text/javascript">
	function mostrarProdutos(codigo)
	{
		document.getElementById("produto"+codigo).style.display="block";
	}
	
	function esconderProdutos(codigo)
	{
		document.getElementById("produto"+codigo).style.display="none";	
	}
</script>

</head>
<body>
<div id="container">
<h1>Consulta Fornecedor</h1>
<h3>${mensagem}</h3>
	<div id="leftSide">
		<table>
			<thead>
				<tr>
					<td>ID</td>
					<td>Nome</td>
					<td>Telefone</td>
					<td>Cidade</td>
					<td>Estado</td>
					<td colspan="3">Opções</td>
				</tr>
			</thead>
	
			<c:forEach var="fornecedor" items="${fornecedores}">
			
				<tr onmouseover="mostrarProdutos(${fornecedor.codigo});"
					onmouseout="esconderProdutos(${ fornecedor.codigo } );">
						<td>${fornecedor.codigo}</td>
						<td>${fornecedor.nome}</td>
						<td>${fornecedor.fone}</td>
						<td>${fornecedor.cidade}</td>
						<td>${fornecedor.estado}</td>
						<td><a href="SisGerController?cmd=atualizarFornecedor&codigo=${fornecedor.codigo}" ><img src="images/alterar.png" width="17" height="17" border="0"></a></td>					
						<td><a href="SisGerController?cmd=excluirFornecedor&codigo=${fornecedor.codigo }" ><img src="images/excluir.png" width="17" height="17" border="0"></a></td>
						<td>C</td>
				</tr>					

			</c:forEach>
		</table>
	</div>
	<div id="rightSide">
		<%@include file="menu.jsp"%>
	</div>
	
	<c:forEach var="fornecedor" items="${fornecedores}">
		<div class="rightSideProdutos" style="display: none" id="produto${fornecedor.codigo}">
			<table>
				<thead>
					<tr><td>${fornecedor.nome}</td></tr>
				</thead>
				<c:forEach var="produto" items="${fornecedor.produtos}">
					<tr>
						<td>${produto.descricao}</td>
					</tr>
				</c:forEach>
				<c:if test="${fornecedor.produtosSize == 0}">
					<tr><td>Não há produtos!</td></tr>
				</c:if>
			</table>
		</div>
	</c:forEach>
	
</div>

</body>
</html>

E me parece que ele nao preencho os dados onde todos retornam null, e ele gera este erro no console:

16/06/2009 10:58:57 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet SisGerController threw exception
java.lang.Error: Unresolved compilation problem: 
	The method execute(HttpServletRequest, HttpServletResponse) of type AtualizarFornecedor must override a superclass method

	at br.com.sisger.model.command.AtualizarFornecedor.execute(AtualizarFornecedor.java:17)
	at br.com.sisger.controller.SisGerController.processarRequisicao(SisGerController.java:31)
	at br.com.sisger.controller.SisGerController.doGet(SisGerController.java:37)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Unknown Source)

se alguem puder dar um help agradeço.

Olá,

cara, seu projeto não ta nem compilando.

 java.lang.Error: Unresolved compilation problem:   
     The method execute(HttpServletRequest, HttpServletResponse) of type AtualizarFornecedor must override a superclass method  

Ah, outra coisa, implemente os métodos equals e hashCode em sua classe Fornecedor.

[]´s

Olá amigo, estou exportando o projeto no eclipse como .WAR e startando o tomcat, e tambem pelo eclipse consigo executar o projeto, consigo inseriri, excluir, so que o alterar nao vai e da este erro ai, estoque travado ja faz 3h, e como faço para implementera equals e hashCode ??? Pode me dar um exemplo? Grato. E Obrigado desde já.

E outra coisa que m esqueci, o erro do Tomcat é este:

16/06/2009 12:01:49 org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
16/06/2009 12:01:49 org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
16/06/2009 12:02:50 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet SisGerController threw exception
org.hibernate.SessionException: Session was already closed
	at org.hibernate.impl.SessionImpl.close(SessionImpl.java:275)
	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.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:301)
	at $Proxy0.close(Unknown Source)
	at br.com.sisger.model.dao.HibernateDAO.atualizar(HibernateDAO.java:29)
	at br.com.sisger.model.command.AtualizarFornecedor.execute(AtualizarFornecedor.java:26)
	at br.com.sisger.controller.SisGerController.processarRequisicao(SisGerController.java:31)
	at br.com.sisger.controller.SisGerController.doPost(SisGerController.java:45)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Unknown Source)

E o erro do Browser é este:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.hibernate.SessionException: Session was already closed
	org.hibernate.impl.SessionImpl.close(SessionImpl.java:275)
	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)
	org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:301)
	$Proxy0.close(Unknown Source)
	br.com.sisger.model.dao.HibernateDAO.atualizar(HibernateDAO.java:29)
	br.com.sisger.model.command.AtualizarFornecedor.execute(AtualizarFornecedor.java:26)
	br.com.sisger.controller.SisGerController.processarRequisicao(SisGerController.java:31)
	br.com.sisger.controller.SisGerController.doPost(SisGerController.java:45)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.16 logs.
Apache Tomcat/6.0.16

Eu nao entendi muito bem por nao conhecer o hibernate muito bem, mas estou lendo a documentacao. Se puder me ajudar sou grato.