嗨,我正在努力用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) {
}
}