用的是Hibernate自动生成的delete语句,不知道调用该怎样写才能运行?

a_qwe789qwe789 2012-03-14 03:24:03
DAO包中的: public void delete(Staff persistentInstanc) {
log.debug("deleting Staff instance");
Session session=null;
Transaction ts=null;
try {
session=getSession();
ts=session.beginTransaction();
session.delete(persistentInstanc);
ts.commit();
log.debug("delete successful");
} catch (RuntimeException re) {
log.error("delete failed", re);
throw re;
}
}
测试程序:
public class text4 {
public static void main(String args[]){
Staff staff=new Staff();
staff.setId(12);
StaffDAO staffDAO=new StaffDAO();
staffDAO.delete(staff);
}

}
运行老报错
Exception in thread "main" org.hibernate.PropertyValueException: not-null property references a null or transient value: com.zzu.dao.Staff.name
at org.hibernate.engine.Nullability.checkNullability(Nullability.java:72)
at org.hibernate.event.def.DefaultDeleteEventListener.deleteEntity(DefaultDeleteEventListener.java:250)
at org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:141)
at org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:52)
at org.hibernate.impl.SessionImpl.fireDelete(SessionImpl.java:766)
at org.hibernate.impl.SessionImpl.delete(SessionImpl.java:744)
at com.zzu.dao.StaffDAO.delete(StaffDAO.java:57)
at com.zzu.text.text4.main(text4.java:12)
我不想使用自己新编的类来放入程序运行,想了解自动生成的数据库操作到底该如何运行,谢谢
...全文
164 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
a_qwe789qwe789 2012-03-15
  • 打赏
  • 举报
回复
今天更改了下数据,怎么又失败了
a_qwe789qwe789 2012-03-15
  • 打赏
  • 举报
回复
我将text4做了修改成功删除了相应的记录
public class text4 {
public static void main(String args[]){
Staff staff=new Staff();
staff.setId(13);
staff.setName("busde");
staff.setPassword("abc");
StaffDAO staffDAO=new StaffDAO();
staffDAO.delete(staff);
}

}
不知道为什么不能直接利用主键id,直接删除记录,反而要将记录项目id name password完全写出才可以删除?
呆呆天河 2012-03-14
  • 打赏
  • 举报
回复
写错了 是 staff

呆呆天河 2012-03-14
  • 打赏
  • 举报
回复
你的straf状态不对,用session.delete( object) 其中object 必须得是持久状态

先用session.load 把straf 读取出来才可以用session.delete 删掉

58,455

社区成员

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

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