//执行更新
session.createQuery(hql).setString("name", "name").executeUpdate();
tx.commit();
session.close();
}
使用这种批量更新语法时,通常只需要执行一次SQL的update语句,就可以完成所有满足条件记录的更新。但也有可能需要执行多条update语句,这是因为有继承映射等情况。
执行一个HQL DELETE,同样使用 Query.executeUpdate() 方法:
[java]
//使用DML风格的批量删除
static void deleteUser() throws Exception{
Session session = HibernateUtil.getSession();
Transaction tx = session.beginTransaction();
//定义批量更新的HQL语句
String hql = "delete User";
//执行删除
session.createQuery(hql).executeUpdate();
tx.commit();
session.close();
}
Query.executeUpdate()方法返回一个整型值,该值是受此操作影响的记录数量。
作者:chenssy