![](/img/trans.png)
[英]How to use Hibernate Session.doWork(…) for savepoints / nested transactions?
[英]setting savepoints on hibernate session
我是休眠的新手。 我的項目需要以下方案。
例如,插入20個TestHBDemo
類的記錄數據。
hbsession = HibernateUtil.getCurrentSession();
tx = hbsession.beginTransaction();
for(int index = 0; index < 20; ++index){
TestHBDemo obj = new TestHBDemo();
//setting data
hbsession.save(obj);
}
tx.commit();
如何通過省略中間記錄只插入1-10和15-20條記錄
hbsession = HibernateUtil.getCurrentSession();
tx = hbsession.beginTransaction();
for(int index = 0; index < 20; ++index){
TestHBDemo obj = new TestHBDemo();
//setting data
hbsession.save(obj);
if(somecondition)
// setting save points
}
//omitting unnecessary insertions
tx.commit();
請最好在休眠狀態下提供解決方案,而不要使用javax.sql。
謝謝.....
我通過使用以下代碼實現了它:
hbsession = HibernateUtil.getCurrentSession();
tx = hbsession.beginTransaction();
for(int index = 0; index < 20; ++index){
TestHBDemo obj = new TestHBDemo();
//setting data
hbsession.save(d5campaingObj);
if(index == 9){
hbsession.flush();
hbsession.clear();
}
if(index == 14){
hbsession.clear();
}
}
tx.commit();
但是我正在等待專家的更好的方法。 謝謝....
hbsession = HibernateUtil.getCurrentSession();
tx = hbsession.beginTransaction();
for(int index = 0; index < 20; ++index){
TestHBDemo obj = new TestHBDemo();
//setting data
**if(index>10 && inxex<15)
continue**;
hbsession.save(obj);
// setting save points
}
tx.commit();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.