hibernate通过id来进行db操作删除记录的,删除方法如下:
publicstatic void delete(Object obj) {
Session session = null;
Transaction tx = null;
try {
session =HibernateUtil.getSession();
tx =session.beginTransaction();
session.delete(obj);
tx.commit();
} finally {
if (session != null) {
session.close();
}
}
}
你好!
1、session.delete(object)
2、session.createQuery(HQL 删除语句).......
3、session.createSQLQuery(sql语句)....
自己选一种吧
打字不易,采纳哦!
void deleteSth(User u){
/////////////////
//第一种
session.delete(u);
//第二种
session.createQuery("delete from User u where u.userId=?").setParameter(0,u.getUserId).executeUpdate();
}
必须有一个东西可以定位到是数据表中的某一条数据,否则是无法删除的,当然了,是否主键id无所谓,但必须要保证唯一能定位。就像一堆数据,你想怎么删除其中一条,肯定是根据某些条件知道这条数据的吧,这个条件就是id或者自己定义的一些参数。
这个load,delete,update都是方法,可以自己写这种方法,尔后调用的。一般是按F3健查看源码方法。比方说你定义一个 Aid,点击按钮获得一个id,然后将你得到的id赋值给你定义的Aid,之后你用getHibernateTemplate().load(Person.class, Aid); 就好了。而且也必须这样才能实现我们所用的。你那个new Integer(1) 是重新生成的一个id。new Integer(1),就是一参数,实际上由自己获取。至于删除 确实要delete,假设要删除,先加载再删除时可以的。也可以这样写getHibernateTemplate().delete(Person.class, Aid); 前提是要找出这个delete方法。你把DAO中的这个方法贴出来,然后改一下就应该可以了。
给你几点提示:
1、session.delete(object)
2、session.createQuery(HQL 删除语句).......
3、session.createSQLQuery(sql语句)....
自己选一种适合的吧
用户登录
还没有账号?立即注册
用户注册
投稿取消
| 文章分类: |
|
还能输入300字
上传中....
哼着小调啦啦~