ブールまたは整数データ型の拡張プロパティーが、デフォルト値に設定されたときに更新されない場合は、回避策として、ここに示す手順に従ってください。
単一値のブールまたは整数データ型の拡張プロパティーの値をそのデフォルト値に設定しようとした場合に、プロパティーが更新されません。 例えば、単一値の整数データ型の値を 0 (デフォルト値) 以外の値に設定しようとした場合には、更新が正常に実行されます。 しかし、これをデフォルト値の 0 に設定しようとすると、プロパティー値が更新されません。 同様に、ブール・データ型の拡張プロパティーの値を true に設定しようとした場合には、更新が正常に実行されます。 しかし、このプロパティーをデフォルト値の false に設定しようとすると、値が更新されません。
これは、拡張プロパティーが単一値として定義されている場合にのみ発生します。 これは、EMF の制限事項です。
この問題を回避するには、以下の手順を実行します。
詳しくは、ファイル・リポジトリーでスキーマを拡張するためのサンプル・コード、プロパティー拡張リポジトリーでスキーマを拡張するためのサンプル・コード、 およびLDAP リポジトリーでスキーマを拡張するためのサンプル・コードを参照してください。
また、addIdMgrPropertyToEntityTypes wsadmin コマンドを使用して、multi-valued を 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;