2009-07-20 13 views
4

groovyで数十万のエントリをインポートしています。私は、ハッシュマップのキーとしてテーブルフィールドを使用し、溝sqlデータセットでadd(hash)メソッドを使用します。データセットはpostgresテーブルに行き、IDフィールドはシーケンスから自動生成されます。私はそれが挿入されるごとに各レコードのIDを取得する必要があります。groovyに最後に挿入されたオブジェクトのIDを取得する

java + hibernateでは、IDは、永続化されるオブジェクトの対応するフィールド内に自動的に挿入されます。この場合、add()メソッドは何も返さず、idフィールドをハッシュテーブルに追加しません。効率的な理由からここでhibernate/gormを使わないようにしようとしています。

任意のポインタまたはより良いアプローチのおかげで、ありがとう。

答えて

4

groovy.sql.SQLには、挿入された行ごとに自動生成された列値のリストを返すexecuteInsert()クエリがあります。

+0

insert sql文を生成するコードを書き直す必要がありますが、レコードを保持するハッシュテーブルから行うのは簡単です。 –

関連する問題