调用getter时发生IllegalArgumentException

时间:2014-05-21 12:51:08

标签: java spring hibernate spring-mvc

嗨,我正在努力用spring mvc和Hibernate创建我的第一个项目 我正在使用eclipse和maven Jboss工具

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.orm.hibernate4.HibernateSystemException: IllegalArgumentException occurred calling getter of com.gestEtu.project.model.bo.Etudiant.idEtudiant; nested exception is org.hibernate.PropertyAccessException: IllegalArgumentException occurred calling getter of com.gestEtu.project.model.bo.Etudiant.idEtudiant
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:973)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

Etudiant Class Code是:

package com.gestEtu.project.model.bo;

import java.util.HashSet;
import java.util.Set;


public class Etudiant implements java.io.Serializable {

    private Integer idEtudiant;
    private Groupe groupe;
    private Utilisateur utilisateur;
    private Long cne;
    private String filiere;
    private Set<Fichelecture> fichelectures = new HashSet();

    public Etudiant() {
    }

    public Etudiant(Integer idEtudiant) {
        this.idEtudiant = idEtudiant;
    }

    public Etudiant(Integer idEtudiant, Groupe groupe, Utilisateur utilisateur,
            Long cne, String filiere, Set<Fichelecture> fichelectures) {
        this.idEtudiant = idEtudiant;
        this.groupe = groupe;
        this.utilisateur = utilisateur;
        this.cne = cne;
        this.filiere = filiere;
        this.fichelectures = fichelectures;
    }

    public Integer getIdEtudiant() {
        return idEtudiant;
    }

    public void setIdEtudiant(Integer idEtudiant) {
        this.idEtudiant = idEtudiant;
    }

    public Groupe getGroupe() {
        return groupe;
    }

    public void setGroupe(Groupe groupe) {
        this.groupe = groupe;
    }

    public Utilisateur getUtilisateur() {
        return utilisateur;
    }

    public void setUtilisateur(Utilisateur utilisateur) {
        this.utilisateur = utilisateur;
    }

    public Long getCne() {
        return cne;
    }

    public void setCne(Long cne) {
        this.cne = cne;
    }

    public String getFiliere() {
        return filiere;
    }

    public void setFiliere(String filiere) {
        this.filiere = filiere;
    }

    public Set<Fichelecture> getFichelectures() {
        return fichelectures;
    }

    public void setFichelectures(Set<Fichelecture> fichelectures) {
        this.fichelectures = fichelectures;
    }

    public Compte getCompte(){
        return this.utilisateur.getCompte();
    }

    public void setCompte(Compte Compte){
        this.utilisateur.setCompte(Compte);
    }



}

DAO类代码是:

package com.gestEtu.project.model.dao;

import java.util.List;

import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate4.support.HibernateDaoSupport;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import com.gestEtu.project.model.bo.Etudiant;

@Repository
@Transactional
public class EtudiantDAOHib extends HibernateDaoSupport implements EtudiantDAO {

    @Autowired
    public EtudiantDAOHib(SessionFactory sessionFactory) {
        setSessionFactory(sessionFactory);
    }

    @Override
    public void ajouterEtudiant(Etudiant etudiant) {
        getHibernateTemplate().saveOrUpdate(etudiant);

    }

    @Override
    public Etudiant findEtudiantByCne(int cne) {

        return (Etudiant) getHibernateTemplate().find("from Etudiant e where e.cne=?", cne);
    }

    @Override
    public List<Etudiant> listeEtudiant() {

        return (List<Etudiant>)(Object)  getHibernateTemplate().find("from Etudiant");
    }

    @Override
    public void modifierEtudiant(Etudiant etudiant) {
        getHibernateTemplate().saveOrUpdate(etudiant);

    }

    @Override
    public void suprimerEtudiant(int idEtudiant) {
        getHibernateTemplate().delete("from Etudiant e where e.idEtudiant=?", idEtudiant);

    }

}

Etudiant服务类代码是:

package com.gestEtu.project.model.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.gestEtu.project.model.bo.Etudiant;
import com.gestEtu.project.model.dao.EtudiantDAO;
@Service
@Transactional
public class EtudiantServiceImp implements EtudiantService {

    private final EtudiantDAO etudiantDAO;

    @Autowired
    public EtudiantServiceImp(EtudiantDAO etudiantDAO) {
        this.etudiantDAO = etudiantDAO;
    }

    @Override
    public void ajouterEtudiant(Etudiant etudiant) {
        etudiantDAO.ajouterEtudiant(etudiant);

    }

    @Override
    public Etudiant findEtudiantByCne(int cne) {

        return etudiantDAO.findEtudiantByCne(cne);
    }

    @Override
    public List<Etudiant> listeEtudiant() {

        return etudiantDAO.listeEtudiant();
    }

    @Override
    public void modifierEtudiant(Etudiant etudiant) {
        etudiantDAO.modifierEtudiant(etudiant);

    }

    @Override
    public void suprimerEtudiant(int idEtudiant) {

    }

}

0 个答案:

没有答案