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?