1

Bean のキー フィールドを DB2 の ID 主キー列にマップすることは可能ですか? サンプルテーブル: CREATE TABLE ADDRESS ( ID INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY ( START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 NO CYCLE CACHE 20 NO ORDER ), Line1 VARCHAR(255) NOT NULL, Line2 VARCHAR(255), City VARCHAR(255) NOT NULL、郵便番号 VARCHAR(6) NOT NULL、国 VARCHAR(50) NOT NULL、緯度 DOUBLE、経度 DOUBLE ) AUDIT NONE DATA CAPTURE NONE CCSID UNICODE;

ejbCreate メソッドは ID フィールドを設定しないように調整されていますが、整数型 - 0 のデフォルトで初期化されるため、ejbCreate の 2 回目以降の呼び出しで DuplicateKeyException が発生します。IDENTITY 動作を実装する最良の方法は何ですか? JBoss の例はたくさん見つかりましたが、WAS の例は見つかりませんでした。JPAで簡単だったが、現時点ではCMP 2.0が必須

4

1 に答える 1

0

メソッドejbPostCreateをオーバーライドします。そこから生成された ID を取得し、ID の重複を避けるためにモデルとコードを更新できます。

たとえば、http://forums.sun.com/thread.jspa?threadID=699131 を見てください。

于 2010-09-08T21:34:06.080 に答える