Siga as etapas listadas aqui como solução alternativa quando uma propriedade estendida de tipo de dados booleano ou de número inteiro não for atualizada ao ser configurada para o valor padrão.
Caso tente configurar o valor de uma propriedade estendida do tipo de dados booleano ou de número inteiro com valor único para seu valor padrão, a propriedade não é atualizada. Por exemplo, caso tente configurar o valor de um tipo de dados de número inteiro com valor único para qualquer valor que não seja 0, que é o valor padrão, a atualização ocorre com sucesso. No entanto, caso tente configurá-lo para seu valor padrão 0, a propriedade não é atualizada. De forma semelhante, caso tente configurar o valor de uma propriedade estendida do tipo de dados booleano como true, atualização ocorre com sucesso. No entanto, caso tente configurar a propriedade para seu valor padrão false, o valor não é atualizado.
Isso ocorre apenas quando a propriedade estendida é definida como com valor único. Esta é uma limitação do EMF.
Conclua as etapas a seguir para resolver esse problema.
Para obter detalhes, consulte Código de Amostra para Estender o Esquema no Repositório de Arquivo, Código de amostra para estender o esquema no repositório de extensão de propriedade e Código de Amostra para Estender o Esquema em um Repositório LDAP.
Também é possível usar o comando wsadmin addIdMgrPropertyToEntityTypes para criar uma nova propriedade estendida de tipo de dados booleano ou de número inteiro com diversos valores configurado como true.
DataObject root = SDOHelper.createRootDataObject();
DataObject entity = SDOHelper.createEntityDataObject(root, null, SchemaConstants.DO_PERSON_ACCOUNT);
// Configurar as propriedades da pessoa
entity.set("uid", uid);
entity.set("cn", cn);
entity.set("sn", sn);
// Criar uma nova lista de matriz de tamanho um
List lst = new ArrayList();
lst.add(0);
entity.set("jersyNumber", lst );
System.out.println("Gráfico de dados de entrada antes de criar o usuário"+ printDO(root));
// Criar a entidade PersonAccount
root = service.create(root);
// Imprimir o gráfico de dados de saída
System.out.println("Gráfico de dados de saída depois de criar o usuário"+ printDO(root));
return root;