当设置为缺省值时,在布尔或整数数据类型的扩展属性未更新的情况下,遵循以下列出的步骤以作为变通方法。
如果您尝试将单值布尔或整数数据类型的扩展属性值设置为其缺省值,那么该属性不会更新。例如,如果您尝试将单值整数数据类型值设置为非 0(这是缺省值)的任何值,那么就成功执行了该更新。但是,如果您尝试将其设置为其缺省值 0,那么属性值没有得到更新。类似地,如果您尝试将布尔数据类型的扩展属性值设置为 true,那么就成功执行了该更新。但是,如果您尝试将该属性设置为其缺省值 false,那么该值没有更新。
仅在扩展的属性定义为单值时才发生此情况。这是 EMF 限制。
完成以下步骤来变通此问题。
有关详细信息,请参阅用于在文件存储库中扩展模式的样本代码、用于在属性扩展存储库中扩展模式的样本代码和用于在 LDAP 存储库中扩展模式的样本代码。
您还可以使用 addIdMgrPropertyToEntityTypes wsadmin 命令来新建多值设置为 true 的布尔或整数数据类型的扩展属性。
DataObject root = SDOHelper.createRootDataObject();
DataObject entity = SDOHelper.createEntityDataObject(root, null, SchemaConstants.DO_PERSON_ACCOUNT);
// Set the properties of the person
entity.set("uid", uid);
entity.set("cn", cn);
entity.set("sn", sn);
// Create a new array list of size one
List lst = new ArrayList();
lst.add(0);
entity.set("jersyNumber", lst );
System.out.println("Input datagraph before creating user"+ printDO(root));
// Create the PersonAccount entity
root = service.create(root);
// Print the output datagraph
System.out.println("Output datagraph after creating user"+ printDO(root));
return root;