<OIID>の定義について説明します。
検索対象になるオブジェクトは,OIIDによって識別されます。OIIDの値は,データベース上では,各オブジェクトのdmaProp_OIIDプロパティに,String型の16バイトの値として格納されています。
一方,Java クラスライブラリでは,OIIDを「dma://」で始まるOIID文字列(DMA URL)で表記します。これは,実際にdmaProp_OIIDプロパティに格納されている値とは異なります。このため,Java クラスライブラリで使用するOIID文字列を直接edmSQL文に指定しても,OIIDを対象にした検索はできません。このため,OIID文字列を指定する場合には,OIID変換インターフェースを使用して,dmaProp_OIIDプロパティの値に変換する必要があります。
なお,検索結果としてdmaProp_OIIDプロパティの値を取得する場合は,Java クラスライブラリで使用するOIID文字列に変換されたものが取得できるため,明示的に変換する必要はありません。
検索条件にOIID文字列を指定する場合に,指定したOIID文字列をdmaProp_OIIDプロパティの値に変換するためには,次のどちらかの方法を使用します。
ここでは,OIID変換インターフェースの使用例について説明します。
SELECT myProp_Foo
FROM myClass
WHERE dmaProp_OIID = 'dma:///xxx/xxx/xxx…x'
SELECT myProp_Foo
FROM myClass
WHERE dmaProp_OIID = oiid('dma:///xxx/xxx/xxx…x')
SELECT myProp_Foo
FROM myClass
WHERE dmaProp_OIID = ?