2
在一個大表中,在一個具有休眠的Java EE應用程序中, 我想清除幾百萬個對象。用於刪除多個對象的Hibernate優化
例如
- ,我感到我要清除一些對象:2000個對象返回5000 OBJETS在標籤
- ,然後我想在對象實際刪除它們
存在我做的:
List<Object> objectList = this.getObjectManager()
.getObjectsByCriteria(clientName, objectType, MAX_OBJECTS);
for (final Object object : objectList) {
if (logger.isDebugEnabled()) {
logger.debug("will delete " + object);
}
this.getMManager().removeEntry(object);
counter++;
}
public void removeObject(final Object object) {
final Session session = this.getHibernateUtil().getSession();
session.delete(entry);
session.flush();
}
我想冬眠刪除所有對象在t他承諾交易,而不是一個接一個。
什麼是最好的解決方案,以刪除2000對象,例如,沒有內存或休眠異常?
如何用hibernate逐個刪除?
因此,如果HQL查詢返回2000個對象, 不會有休眠或內存問題? – superscral
當您使用HQL刪除它們時,它們不會被加載,它們只會被刪除。 –
如果我的HQL刪除必須刪除276 000個對象,它會起作用嗎? :D – superscral