search.jsp
データベースからレコードを検索して取得するページがあります。このレコードを複製して変更を加え、両方のレコードを保存する必要があります。
元:
method1(){
Response response=new Response();
//To perform DB search
response=delegate.requestSearch(//some request criteria);
Types obj1=(Types) response.getBaseEntity();
Types obj2=obj1;
obj2.setPromaryKeyObject(//some unique value);
}
私のDAOでは、メソッドを保存します:
session.save(obj1);
session.save(obj2);
transaction.commit(); // transaction
デバッグ ポイントがトランザクションをコミットすると、更新クエリが 1 つだけ取得されます。しかし、2 つの挿入クエリが必要です。
しかし、これはうまくいきます。これは試みでしたが、これは私がやりたいことではありません。
Types tempObj1 = new Types();
tempObj1.setValue1(obj1.getValue1();
// all values of the object should be set
session.save(tempObj1);
Types tempObj1 = new Types();
tempObj2.setValue1(obj2.getValue1();
// all values of the object should be set
session.save(tempObj2);
transaction.commit(); // transaction
この場合、2 つの挿入クエリをトリガーします。
私は休止状態に非常に慣れていないので、間違いは休止状態の方法にあると確信しています。JDBC および MySql クエリを使用していた場合、この同じコードは問題なく動作します。