从 documentum (dm_acl Object Table) 获取的数据结果为空?为什么?

the fetched data from documentum (dm_acl Object Table) turns out to be null ? why?

我正在开发一个与 documentum 相关的 Java 项目。我正在尝试使用以下方法从我的 dm_acl 对象 table 中获取一些数据:

String fetchAclsInfoQuery = "select * from dm_acl where description = '@aclname0' or description = '@aclname1' or description = '@aclname2' enable (ROW_BASED) ";
            fetchAclsInfoQuery = fetchAclsInfoQuery.replace("@aclname0", list.get(0));
            fetchAclsInfoQuery = fetchAclsInfoQuery.replace("@aclname1", newAcl1.toString().toLowerCase());
            fetchAclsInfoQuery = fetchAclsInfoQuery.replace("@aclname2", newAcl2.toString().toLowerCase());
            System.out.println(fetchAclsInfoQuery);

//The problem starts from here  ==> 
            IDfQuery aclDetailsFetching = new DfQuery();
            //IDfCollection col = UpdateQuery.execute(_session, IDfQuery.DF_QUERY);
            IDfCollection details = aclDetailsFetching.execute(_session, DfQuery.DF_READ_QUERY);
            while(details.next()){
                System.out.println(details.getString("owner_name"));
            }

一旦我在 DQL 测试器中打印出 "fetchAclsInfoQuery" 和 运行 的结果,它就可以正常工作,但是当我尝试输出存储在 "owner_name" 列中的所有值时我得到的是 null 。 知道我的错误在哪里吗? :)

尝试写

String fetchAclsInfoQuery = "select owner_name from dm_acl where description = '@aclname0' or description = '@aclname1' or description = '@aclname2' enable (ROW_BASED) ";

而不是

String fetchAclsInfoQuery = "select * from dm_acl where description = '@aclname0' or description = '@aclname1' or description = '@aclname2' enable (ROW_BASED) ";

我很确定星号而不是真正的 属性 名字有问题。 您可以使用方法 hasAttr("<attribute_name>") 来检查您想要的 属性 (属性)是否已加载到集合中。

您忘记设置 DQL 语句来查询对象。
添加 aclDetailsFetching.setDQL(fetchAclsInfoQuery);