簡體   English   中英

在休眠會話上設置保存點

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM