Siga los pasos que se detallan en este apartado como método alternativo cuando una propiedad ampliada de tipo de datos boolean o integer no se actualiza si se establece en el valor predeterminado.
Si intenta establecer el valor de una propiedad ampliada de un tipo de datos boolean o integer de un solo valor en su valor predeterminado, la propiedad no se actualiza. Por ejemplo, si intenta establecer el valor de un tipo de datos integer de un solo valor en cualquier valor que no sea 0, que es el valor predeterminado, la actualización se lleva a cabo satisfactoriamente. Sin embargo, si intenta establecerla en su valor predeterminado 0, el valor de la propiedad no se actualiza. De manera similar, si intenta establecer el valor de una propiedad ampliada del tipo de datos boolean en true, la actualización se lleva a cabo satisfactoriamente. Sin embargo, si intenta establecer la propiedad en su valor predeterminado false, el valor no se actualiza.
Esto sólo se produce cuando la propiedad ampliada se define como valor individual. Es una limitación de EMF.
Siga estos problemas para eludir este problema.
Para obtener información detallada, consulte Código de ejemplo para extender un esquema en el depósito de archivos, Código de ejemplo para extender el esquema en el depósito de extensión de propiedades y Código de ejemplo para extender el esquema en un depósito LDAP.
También puede utilizar el mandato wsadmin addIdMgrPropertyToEntityTypes para crear una propiedad ampliada nueva de tipo de datos boolean o integer con el elemento "multi-valued" establecido en true.
DataObject root = SDOHelper.createRootDataObject();
DataObject entity = SDOHelper.createEntityDataObject(root, null, SchemaConstants.DO_PERSON_ACCOUNT);
// Establece las propiedades de la persona
entity.set("uid", uid);
entity.set("cn", cn);
entity.set("sn", sn);
// Crear una nueva lista de matriz de tamaño uno
List lst = new ArrayList();
lst.add(0);
entity.set("jersyNumber", lst );
System.out.println("Input datagraph before creating user"+ printDO(root));
// Crear la entidad PersonAccount
root = service.create(root);
// Imprimir gráfico de datos de salida
System.out.println("Output datagraph after creating user"+ printDO(root));
return root;