1

MSSQL(2008) および EclipseLink(2.4)

別のテーブルに挿入するトリガーを使用してテーブルに挿入しています

これが発生すると、EclipseLink は、トリガーによって他のテーブルに挿入されたレコードの ID を返します。

EcliipseLink で @@IDENTITY の代わりに SCOPE_IDENTITY() を使用することで、正しい ID を取得できると思います。

問題は、これを行う方法ですか?

EclipseLink (JPA) のソリューションが必要です。SQL を使用して ID を取得する方法を知っています。

4

2 に答える 2

1

TableA別のテーブルに挿入するトリガーがあります。のようなコマンドを発行します。

INSERT INTO TableA (Field1, Field2) VALUES (@Value1, @Value2); SELECT SCOPE_IDENTITY() As MyRecID

これにより、レコードが挿入され、そのレコードの がTableA返されIDます。

詳細については、SCOPE_IDENTITY (Transact-SQL) を参照してください。

于 2014-11-05T21:31:28.350 に答える
0

この問題を解決するためにカスタム シーケンス オブジェクトを EclipseLink に追加する例を以下に示します

于 2014-11-06T15:08:32.477 に答える