日期:2014-05-17  浏览次数:20758 次

[SSH问题]org.hibernate.MappingException: Unknown entity:
异常为:

严重: Servlet.service() for servlet action threw exception
org.hibernate.MappingException: Unknown entity: java.lang.Long


程序走到action类红色这一行的时候抛了异常:
public ActionForward delete(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) { 
String id = request.getParameter("id"); 
manager.deleteById(id);  
return list(mapping, form, request, response);

}

相关类在这:

Java code
    public void deleteById(String id) {
        Long idl=new Long(id);
        dao.delete(idl);

    }
 

然后dao实现:
Java code
    public void delete(Long id) {
        
         getHibernateTemplate().delete(id);

    } 



还有POJO

Java code

private Long id;
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }



最后POJO类的映射文件:
XML code
<hibernate-mapping>
    <class name="com.sa.models.Users" table="Users" schema="sa_db">
    <id name="id" column="ID" type="java.lang.Long">
    <generator class="native"></generator>
    </id>

[code=XML][/code]

另外,getHibernateTemplate().find和getHibernateTemplate().save 也就是查询和保存方法都可以正常执行

希望大家能帮下忙了,网上找了很多方法都对不上号...

------解决方案--------------------
是不是类型不对啊。
------解决方案--------------------
是你数据表的id类型有问题