Hibernate读书笔记-----hibernate的批量处理(二)

2014-11-24 08:36:39 · 作者: · 浏览: 4
String hql = "update User as user set user.name = :name";
//执行更新
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