用户登录
用户注册

分享至

hibernate dao 删除

  • 作者: 哼着小调啦啦~
  • 来源: 51数据库
  • 2021-01-04
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语句)....

自己选一种适合的吧
软件
前端设计
程序设计
Java相关