hibernate的批量刪除對於提高hibernate效能來說確實很重要,所以我總結整理了一下,大體的實現**是:
批量修改:
session session = sessionfactory.opensession();
transaction tx = session.begintransaction();
string hqlupdate = 「update customer set name = :newname where name=ldname」;
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 =ldname」;
int deletedentities = s.createquery( hqldelete )
.setstring( 「oldname」, oldname )
.executeupdate();
tx.commit();
session.close();
也可以使用jdbc api來操作:
session session = sessionfactory.opensession();
transaction tx = session.begintransaction();
connection con=session.connection();
preparedstatement stmt=con.preparestatement(「update customer set name = :newname where name=ldname」);
stmt.executeupdate();
tx.commit();
session.close();
session session = sessionfactory.opensession();
transaction tx = session.begintransaction();
connection con=session.connection();
preparedstatement stmt=con.preparestatement(「delete customer where name =ldname」);
stmt.executeupdate();
tx.commit();
session.close();
hibernate怎樣實現批量修改和刪除
hibernate批量修改,批量刪除
在hibernate應用中如何處理批量更新和批量刪除?批量更新是指在乙個事務中更新大批量資料,批量刪除是指在乙個事務中刪除大批量資料。以下程式直接通過hibernate api批量更新customers表中年齡大於零的所有記錄的age欄位 tx session.begintransaction it...
hibernate批量修改,批量刪除
在hibernate應用中如何處理批量更新和批量刪除?批量更新是指在乙個事務中更新大批量資料,批量刪除是指在乙個事務中刪除大批量資料。以下程式直接通過hibernate api批量更新customers表中年齡大於零的所有記錄的age欄位 tx session.begintransaction it...
hibernate批量刪除
一般而言,hibernate的批量刪除的寫法有兩種,一種是hibernate內建的批量刪除,不過他的批量刪除是將每條記錄逐一生成刪除 語句,其效率極低,當然我們可以使用抓取策略給其進行優化,不過這只是亡羊補牢的方法,效率的提公升依然不能讓我們滿意,很不推薦使用 另一種是由 拼串 形成的hql語句,其...