在Hibernate 2時,HQL只用於查詢資料,要更新或刪除資料,則是依賴於Session的update()、saveOrUpdate()、delete()等方法, 在Hibernate 3中,HQL新增了update與delete語句,可以直接使用HQL指定更新或刪除,例如使用update子句進行更新:
Session
session = sessionFactory.openSession();
Transaction tx= session.beginTransaction();
Query query = session.createQuery("update User set name='momor' where name='bbb'");
query.executeUpdate();
tx.commit();
session.close();
Transaction tx= session.beginTransaction();
Query query = session.createQuery("update User set name='momor' where name='bbb'");
query.executeUpdate();
tx.commit();
session.close();
使用delete子句進行資料刪除:
Session
session = sessionFactory.openSession();
Transaction tx= session.beginTransaction();
Query query = session.createQuery("delete User where name='bush'");
query.executeUpdate();
tx.commit();
session.close();
Transaction tx= session.beginTransaction();
Query query = session.createQuery("delete User where name='bush'");
query.executeUpdate();
tx.commit();
session.close();