ドキュメントの拡張属性に関する問題に直面しています (ドキュメント テーブルを拡張しようとしています)。元のテーブルの PK (FDOC_NBR) を拡張テーブルに作成し、カスタマイズされた元のテーブルの ojb エントリのforeignKey を介して (「拡張」参照記述子として) 2 つをリンクしました。拡張子の bo と dd を作成し、元のドキュメントの dd をカスタマイズして新しい属性を追加しました。拡張された BO 自体に、2 つの新しい列 + documentNumber の PK 列のメンバー (セッターとゲッターを使用) も追加しました。また、ドキュメントの jsp に新しい属性を追加しました。関連するモジュール定義は、カスタム dd、ojb などのファイルを含むように拡張されています。
確かに、ドキュメントを開くと新しいフィールドが表示されます-ただし、ドキュメントを送信しようとすると(新しいフィールドで何かをしても)、エラーが発生します-
エラーの詳細: OJB 操作。SQL []; ORA-01400: ("KFSTEM"."TEM_TRVL_ARRANGER_DOC_EXT_T"."FDOC_NBR") に NULL を挿入できません。ネストされた例外は java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into ("KFSTEM"."TEM_TRVL_ARRANGER_DOC_EXT_T"."FDOC_NBR") です
どういうわけか、システムが実際のドキュメント番号ではなく、拡張機能の PK フィールドに NULL の値を挿入しようとしているようです。これをデバッグしようとすると、アクションのルート メソッドで DocumentDaoOjb.save まで (これは私ができる限り下にあります)、実際のドキュメント番号が渡されているドキュメントが表示されるので、問題は純粋にojb はこの番号を拡張テーブルに設定しようとします。
これを明らかにするのに役立つドキュメントの拡張属性を使用した経験がある人はいますか?