Hibernate3.0对批量更新和批量删除提供了支持,能够直接执行批量更新或批量删除语句,无需把被更新或删除的对象先加载到内存中。以下是通过Hibernate3.0执行批量更新的程序代码:
Session session
=
sessionFactory.openSession();
Transaction tx = session.beginTransaction();
String hqlUpdate = " update Customer set name = :newName where name = :oldName " ;
int updatedEntities = s.createQuery( hqlUpdate )
.setString( " newName " , newName )
.setString( " oldName " , oldName )
.executeUpdate();
tx.commit();
session.close();
以下是通过Hibernate3.0执行批量删除的程序代码:
Transaction tx = session.beginTransaction();
String hqlUpdate = " update Customer set name = :newName where name = :oldName " ;
int updatedEntities = s.createQuery( hqlUpdate )
.setString( " newName " , newName )
.setString( " oldName " , oldName )
.executeUpdate();
tx.commit();
session.close();
Session session
=
sessionFactory.openSession();
Transaction tx = session.beginTransaction();
String hqlDelete = " delete Customer where name = :oldName " ;
int deletedEntities = s.createQuery( hqlDelete )
.setString( " oldName " , oldName )
.executeUpdate();
tx.commit();
session.close();
Transaction tx = session.beginTransaction();
String hqlDelete = " delete Customer where name = :oldName " ;
int deletedEntities = s.createQuery( hqlDelete )
.setString( " oldName " , oldName )
.executeUpdate();
tx.commit();
session.close();