Erro quando Incluir no banco usando o Hibernate

Estou tendo um problema para incluir os dados…
estou usando o Hibernate e o Servlet para fazer todo o controle…
abaixo estou enviando os codigos:

SERVLET

[code]/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */

package SysAc.web;

import java.io.IOException;
import java.net.;
import java.util.List;
import javax.servlet.
;
import javax.servlet.http.;
import SysAc.Pessoa;
import SysAc.dao.
;
import gamasouza.Aluno;
import java.util.Date;
import gamasouza.*;

/**
*

  • @author Didi
    */
    public class ServletSys extends javax.servlet.http.HttpServlet {

    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    String cmd=request.getParameter(“cmd”);
    if(cmd==null){
    cmd =“principal”;
    }
    InterfaceSysAc dao;
    Aluno aluno = new Aluno();

     String codigo = request.getParameter("codigo");
     String nome = request.getParameter("nome");
     String rg = request.getParameter("rg");
     String cpf = request.getParameter("cpf");
     String nascimento = request.getParameter("nascimento");
     
     if(cmd==null || !cmd.equalsIgnoreCase("principal")){
         aluno.setCodigo(Integer.parseInt(codigo));
         aluno.setPessoa(nome);
         aluno.setRG(Integer.parseInt(rg));
         aluno.setCPF(Integer.parseInt(cpf));
         
     }
     try
     {
         dao = new SysAcDAO();
         RequestDispatcher rd = null;
         
         /*Condição pra LISTAR as Informações*/
         if (cmd.equalsIgnoreCase("listar")){
             List pessoaList = dao.todosPessoa();
             request.setAttribute("pessoaList", pessoaList);
             rd = request.getRequestDispatcher("/jCadAlunoPesq.jsp");
             
         } 
         /*Condição para salvar as Informações*/
         else if (cmd.equalsIgnoreCase("addliv")){
             dao.salvar(aluno);
             rd = request.getRequestDispatcher("/sucesso.html");
         }
     }catch(Exception e)
     {
         e.printStackTrace();
         throw new ServletException(e);
     }       
    

    }

}
[/code]

Minha classe DAO:

package SysAc.dao;

import SysAc.dao.*;
import gamasouza.Aluno;
import java.util.List;
import javax.management.Query;
import SysAc.Pessoa;
import SysAc.util.ConnectSysAcFactory;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;

public class SysAcDAO implements InterfaceSysAc {

    private Session session;
    
    public void salvar(Aluno aluno){
        session = ConnectSysAcFactory.getInstance();         
        Transaction t = null;
        
        try {
            t = session.beginTransaction();
            session.save(aluno);
            t.commit();
        } catch (HibernateException e) {
            e.printStackTrace();
            t.rollback();
        }
        finally{
            session.close();
        }
    }

public void excluir(Pessoa cliente){
   session = ConnectSysAcFactory.getInstance();
        Transaction t = null;
        
        try {
            t = session.beginTransaction();
            session.delete(cliente);
            t.commit();
        } catch (HibernateException e) {
            e.printStackTrace();
            t.rollback();
        }
        finally{
            session.close();
        }
}

public void atualizar(Pessoa cliente){
       session = ConnectSysAcFactory.getInstance();
        Transaction t = null;
        
        try {
            t = session.beginTransaction();
            session.update(cliente);
            t.commit();
        } catch (HibernateException e) {
            e.printStackTrace();
            t.rollback();
        }
        finally{
            session.close();
        }
}

public List todosPessoa(){
    session = ConnectSysAcFactory.getInstance();
    List list = session.createQuery("from Cliente").list();
    return list;
}
public List consultarPessoa(String cliente){
    session = ConnectSysAcFactory.getInstance();
        org.hibernate.Query query = session.createQuery(
            "from Cliente cli where cli.cliente like :cliente");
    List list = query.setString("cliente", "%"+cliente+"%").list();
    
    return list;
}

}

Minha Interface:

package SysAc.dao;

import SysAc.dao.*;
import gamasouza.Aluno;
import java.util.List;
import SysAc.Pessoa;

public interface  InterfaceSysAc {

    
    public abstract void salvar(Aluno aluno);
    //public abstract void salvar(Pessoa pessoa);
    public abstract void excluir(Pessoa pessoa); 
    public abstract void atualizar(Pessoa pessoa);
    public abstract List todosPessoa();
    public abstract List consultarPessoa(String pessoa);

}

Agora Vem minhas classes:

Pessoa

[code]package gamasouza;

import java.util.Date;
import java.util.Collection;
import javax.persistence.*;
@Entity
@Table (name=“pessoa”)
@SuppressWarnings(“serial”)
public class Pessoa implements java.io.Serializable {

@Id
@Column(name="codigo")
private int codigo;
@Column(name="nome")
private String nome;
@Column(name="nascimento")
@Temporal(TemporalType.TIMESTAMP)
private Date nascimento;
@OneToMany(cascade=CascadeType.ALL, mappedBy="pessoa")
private Collection<Aluno> aluno;
@OneToMany(cascade=CascadeType.ALL, mappedBy="pessoa")
private Collection<Professor> professor;

public Pessoa() {
}

public Pessoa(int codigo, String nome, Date nascimento) {

    this.codigo = codigo;
    this.nome = nome;
    this.nascimento = nascimento;
}

public void setCodigo(int codigo) {
    this.codigo = codigo;
}

public int getCodigo() {
    return codigo;
}

public void setPessoa(String nome) {
    this.nome = nome;

}

public String getPessoa() {
    return nome;
}
public void setNasc(Date nasc) {
    nascimento = nasc;

}

public Date getNasc() {
    return nascimento;
}

}
[/code]

Aluno

[code]/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */

package gamasouza;
import java.util.Date;
import java.util.Collection;
import javax.persistence.*;
@Entity
@Table (name=“aluno”)
@SuppressWarnings(“serial”)

public class Aluno extends Pessoa implements java.io.Serializable {

@Column(name="cpf")
private int CPF;

@Column(name="rg")
private int RG;

public Aluno() {
}

public Aluno (int codigo, String nome, Date nascimento,int CPF, int RG) {

    super(codigo, nome, nascimento);
    this.CPF = CPF;
    this.RG = RG;
}
public void setCPF(int CPF) {
    this.CPF = CPF;
}

public int getCPF() {
    return CPF;
}

public void setRG(int RG) {
    this.RG = RG;
}

public int getRG() {
    return RG;
}

}
[/code]

Professor:

[code]/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */

package gamasouza;

import java.util.Date;
import javax.persistence.*;

@Entity
@Table (name=“professor”)
@SuppressWarnings(“serial”)
public class Professor extends Pessoa implements java.io.Serializable {

@Column(name="graduacao")
private String graduacao;

public Professor() {
}

public Professor (int codigo, String nome, Date nascimento,String gradu) {

    super(codigo, nome, nascimento);
    graduacao = gradu;
}
public void setGraduacao(String gradu) {
    graduacao = gradu;
}

public String getGraduacao() {
    return graduacao;
}

}
[/code]

O que pode estar dando errado? Alguem pode me ajudar?

Alguém pode dar uma ajuda aí…
rs

Poste a exception gerada.

Só quero saber se a Anotação que fiz… estar certo?
Alguem pode olhar pra mim e dar uma LUZ aí

Vlw

Alguem pode dar uma ajudinha por favor"