当我尝试在主键
由多个字段组成的某个 View 对象中进行搜索时,出现此错误:太多对象与主键 oracle.jbo.Key 匹配
。
用例:
在 Jdeveloper 11.1.2.3
中,我有名为 someTable
的实体对象
,该表具有三个字段 A、B 和 C
,其中 主键
由两个字段 A 和 B
组成。
我从 someTable
实体对象创建了两个不同的 View 对象
,它们是 someTableVO1
和 someTableVO2
。 View 对象 somtableVO1
中的归档 A
是一个值列表 (LOV)
,数据来自于 someTableVO2
中的归档 A
。
在应用程序中,我有一个搜索页面,其中包含 somTableVO1
中归档的 A
的下拉列表。根据某些条件,下拉列表值不是静态的。下拉列表的值可以根据在 someTableVO1
上执行的 select
查询进行更改,并且它基于第三个字段 C
,它不是主键
的一部分。
该页面显示带有正确值的下拉列表。但是,我有一个 ValeChangeListener
方法,当用户从下拉列表中选择某个值时,该方法将被激活。
问题是:
当我执行此方法时,会出现错误太多对象与主键匹配
。
假设:
我认为问题出在主键的多个字段上。在curse中,部分主键
存在重复(即在一个字段A
或B
中),但A
和B
的组合始终是唯一的。
注释:
1. 我通过在 SQL Developer
中运行查询来检查该查询,它没有显示任何重复的值。
2.我没有附上代码,因为我认为问题不在于(如何做),而在于(做什么)。
我希望这个想法很清楚
最佳答案
问题已解决。
我的目标是显示一个以A
形式someTableVO1
作为值列表的文件,我试图通过创建同一实体对象
形式的值列表来实现这一点。我发现这是一个错误的方法(如果我很疲惫,请纠正我)。为了在 ADF
技术中实现这一点,我应该执行以下操作:
只需将 View 对象从
数据控件
拖放到页面即可。将出现选项列表,询问您希望如何显示 View 对象,例如(表单、图表、表格、单选......)。
3.选择单选
-> ADF单选
4.选择您想要以值列表形式向用户显示的属性。
就是这样...
关于java - 太多对象与主键 oracle.jbo.Key 匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20786404/