`

Hibernate 3.0批量更新与删除

阅读更多

Hibernate 3.0中,Session接口中被废弃的方法包括:
*执行查询的方法:find()、iterate()、filter()和delete(String hqlSelectQuery)
 ---即带hql语句的delete()语句, 而参数为Object类型依然支持,而且支持级联删除。
*saveOrUpdateCopy()
而采用merge()方法来代替saveOrUpdateCopy()方法。

Hibernate 3.0执行批量更新的程序代码:
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
String hql = "update Customer set name = :newName where name = :oldName";
int updateEntities = session.createQuery(hql)
         .setString("newName", newName)
         .setString("oldName", oldName)
         .executeUpdate();
tx.commit();
session.close();

Hibernate 3.0执行批量删除的程序代码:
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
String hql = "delete Customer where name = :oldName";
int deleteEntities = session.createQuery(hql)
         .setString("oldName", oldName)
         .executeUpdate();
tx.commit();
session.close();
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics