Unknown entity: java.lang.Integer; nested exception is org.hibernate.MappingException: Unknown entity: java.lang.Integer 
错误细节
org.springframework.orm.hibernate3.HibernateSystemException: Unknown entity: java.lang.Integer; nested exception is org.hibernate.MappingException: Unknown entity: java.lang.Integer at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:676) at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412) at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:424) at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374) at org.springframework.orm.hibernate3.HibernateTemplate.delete(HibernateTemplate.java:846) at org.springframework.orm.hibernate3.HibernateTemplate.delete(HibernateTemplate.java:842) at com.nan.dao.RoleBaseDaoImpl.delRole(RoleBaseDaoImpl.java:15) at  (UtilTimerStack.java:455) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:150) at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:48) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) at com. 

解决方案 »

  1.   

    会不会你把Integer写在hibernate映射文件上的name上去了?
      

  2.   

    <hibernate-mapping>
      <class table="t_role" name="com.nan.hibernate.Role">
        <id access="field" name="id">
          <generator class="native"/>
        </id>
        <property name="name" access="field" unique="true" not-null="true"/>
      </class>
    </hibernate-mapping>
      

  3.   

    public void delRole(int roleId) {
    this.getHibernateTemplate().delete(roleId); }
      

  4.   

    public String del_role() throws Exception{

     roleservice.delRole(id);
    return "del_success";
    }
      

  5.   

    delete()方法用错了,参数不是一个id,应该是entity对象
      

  6.   

    谢谢你 allanic  我改了一下 用load方法加载一下就可以了 
      

  7.   

    删除的不是一个id 而是一个实体
    getHibernateTemplate().delete(getHibernateTemplate().load(Emp.class, id));
    而不是getHibernateTemplate().delete(id);
      

  8.   

    删除的不是一个id 而是一个实体
    getHibernateTemplate().delete(getHibernateTemplate().load(Emp.class, id));
    而不是getHibernateTemplate().delete(id);