0

私はHibernateを初めて使用します。私のプロジェクトには以下のシナリオが必要でした。

たとえば、クラスの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を使用するのではなく、できれば休止状態でソリューションを提供してください。

ありがとう.....

4

2 に答える 2

-1

以下のコードを使用して達成しました:

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();

しかし、専門家からのより良いアプローチを待っています。ありがとう....

于 2012-12-06T06:58:14.690 に答える
-1
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();
于 2012-12-06T07:09:25.723 に答える