处理删除操作时出现 Unknown entity: java.lang.Integer

supercgx 2011-10-16 01:58:26
部分关键代码
--------Subject.hbm.xml
<id name="subjectId" type="java.lang.Integer">
<column name="subjectID" />
<generator class="native" />
</id>
------SubjectDao:
public void delete(int persistentInstance) {
log.debug("deleting Subject instance");
try {
getHibernateTemplate().delete(persistentInstance);//这是第57行
log.debug("delete successful");
} catch (RuntimeException re) {
log.error("delete failed", re);
throw re;
}
}
-------SubjectBiz
public void deleteSubject(int subjectID){
isubjectdao.delete(subjectID);//这是第75行
}
--------SubjectAction
public String deleteSubject(){
isubjectbiz.deleteSubject(subjectId);
return SUCCESS;
}
--------Struts.xml
<action name="deletesubjectByID" class="subjectaction" method="deleteSubject">
<result name="success" type="redirect">/FenYeSubjectAction.action</result>
</action>

我用的是Struts2,Hibernate,Spring框架做的
老是报一下错误(精简下):
org.hibernate.MappingException: Unknown entity: java.lang.Integer
org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:550)
org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1338)
org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:78)
org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:52)
org.hibernate.impl.SessionImpl.fireDelete(SessionImpl.java:766)
org.hibernate.impl.SessionImpl.delete(SessionImpl.java:744)
org.springframework.orm.hibernate3.HibernateTemplate$25.doInHibernate(HibernateTemplate.java:852)
org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
org.springframework.orm.hibernate3.HibernateTemplate.delete(HibernateTemplate.java:846)
org.springframework.orm.hibernate3.HibernateTemplate.delete(HibernateTemplate.java:842)
com.dao.SubjectDAO.delete(SubjectDAO.java:57)
com.biz.SubjectBiz.deleteSubject(SubjectBiz.java:75)
这是什么情况啊,有没有大侠知道,指点一下.
...全文
686 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yexiongMYBH 2011-10-16
  • 打赏
  • 举报
回复
顶 王老么。
supercgx 2011-10-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wangxf_8341 的回复:]
getHibernateTemplate().delete()参数是一个pojo的实例,你传一个int型的id有啥用,它知道删除哪个表的哪些记录吗
应该是
Pojo pojo = new Pojo();
pojo.setId(persistentInstance);
getHibernateTemplate().delete(pojo)
[/Quote]
呵呵,这是我用Hibernate反向生成的Dao,没想到反向生成会出错,看来今后反向生成后还要人为的把delete方法改下,先通过ID找到具体的实体,在将其删除.最后说声谢谢!!!
淡定的峰哥 2011-10-16
  • 打赏
  • 举报
回复
getHibernateTemplate().delete()参数是一个pojo的实例,你传一个int型的id有啥用,它知道删除哪个表的哪些记录吗
应该是
Pojo pojo = new Pojo();
pojo.setId(persistentInstance);
getHibernateTemplate().delete(pojo)
ylovep 2011-10-16
  • 打赏
  • 举报
回复
楼主在使用hibernate映射的时候是不是部分内容写错了
java.lang.Integer 映射对应的数据库字段的类型貌似不对
supercgx 2011-10-16
  • 打赏
  • 举报
回复
顶顶顶顶

81,112

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧