我面临文档扩展属性的问题(尝试扩展文档表)。我在扩展表中创建了原始表的 PK (FDOC_NBR),并通过自定义原始表的 ojb 条目的外键将两者链接起来(作为“扩展”引用描述符)。我为扩展创建了 bo 和 dd 并自定义了原始文档的 dd 以添加新属性。在扩展的 BO 本身上,我还为 2 个新列 + 为 documentNumber 的 PK 列添加了成员(带有 setter 和 getter)。我还在文档的 jsp 中添加了新属性。相关模块定义已扩展为包括自定义 dd、ojb 等文件。
实际上,在打开文档时会显示新字段 - 但是,当尝试提交文档时(无论对新字段做任何事情)我都会收到错误 -
错误详情:OJB 操作;SQL []; ORA-01400: 无法将 NULL 插入 ("KFSTEM"."TEM_TRVL_ARRANGER_DOC_EXT_T"."FDOC_NBR") ;嵌套异常是 java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into ("KFSTEM"."TEM_TRVL_ARRANGER_DOC_EXT_T"."FDOC_NBR")
似乎系统以某种方式尝试将 NULL 值插入扩展的 PK 字段,而不是实际的文档编号。尝试对此进行调试,在操作的路由方法中一直到 DocumentDaoOjb.save (尽我所能)我看到带有真实文档编号的文档被传递,所以问题似乎纯粹是ojb 试图将此号码设置为扩展表。
是否有人对文档的扩展属性有任何经验,可以帮助阐明这一点?