0

Open JPA 2.0 を使用し、データベースは DB2 9.7 です。主キーである ID と自動生成された ID 列を含むエンティティを作成したいと思います。エンティティを作成した後、生成された ID を表示する必要があります。このために、エンティティを永続化した後、entity.getId() を呼び出しています。データベースでは、以下のクエリが実行されていることがわかります

select ID from final table
     (INSERT INTO WEB.USER (NAME, LOCATION) VALUES (?, ?))

エンティティを作成し、生成された ID を返す代替/より良い方法はありますか? "Select ID from final table"これはパフォーマンスへの影響が予想されるため、避けたいと思います。

4

2 に答える 2

0

これは、自動生成されたIDをDB2から取得する方法であり、それについてできることは何もありません。他のデータベースでは追加のSQLクエリが必要になることが多いため、IDをすぐに返すDB2を使用すると実際にはさらに優れています。これを行うためのより速い方法はないと思います。

OPENJPA-736この最適化が実装された場所を確認してください。

于 2012-10-18T17:37:31.717 に答える