一、批量修改和删除
在 Hibernate 2 中,如果需要对任何数据进行修改和删除操作,都需
要先执行查询操作,在得到要修改或者删除的数据后,再对该数据进
行相应的操作处理。在数据量少的情况下采用这种处理方式没有问题,
但需要处理大量数据的时候就可能存在以下的问题:
占用大量的内存。
需要多次执行 update/delete 语句,而每次执行只能处理一条数据。
以上两个问题的出现会严重影响系统的性能。因此,在 Hibernate 3
中引入了用于批量更新或者删除数据的 HQL 语句。这样,开发人员就
可以一次更新或者删除多条记录,而不用每次都一个一个地修改或者
删除记录了。
如果要删除所有的 User 对象(也就是 User 对象所对应表中的记录),
则可以直接使用下面的 HQL 语句:
delete User
而在执行这个 HQL 语句时,需要调用 Query 对象的
executeUpdate()方法,具体的实例如下所示:
String HQL=“delete User”;