JDBC を使用して複数のテーブルに挿入しようとしています。高速でなければならないので、使用したい方法PreparedStatement
とexecuteBatch
方法です。テーブルは外部キー関係によって結合されます。
最初のアイデアは使用することでした
getGeneratedKeys()
が、これは一部の JDBC ドライバーでは失敗します。たとえば、PostgreSQL。2 番目のアイデアは、SQL-currval(...) 関数を使用することでした。ただし、1 つのステートメントと他のステートメントに対して execute batch を呼び出さなければならない場合、すべてのキーが同じ値になります。したがって、この方法も失敗します。
JDBC は、セミコロンで区切られた挿入を受け入れません。
どうすればこれを達成できますか?