1つのレコードをストアから取得するには、KVStore.get()
メソッドを使用します。このメソッドは、ValueVersion
オブジェクトを返します。ValueVersion.getValue()
を使用して、キーに関連付けられているValue
オブジェクトを返します。Value
のバイト配列を使用可能な形式にするのは、アプリケーションが行う必要があります。それには通常、Avroバインディングを使用する必要があります。詳細は、「Avroバインディング」を参照してください。
たとえば、「ストアへのレコードの書込み」では、値が単純な文字列の場合にキーと値のペアをストアに格納する簡単な例を示しました。次の簡単な例では、レコードの取得方法を示します。(この例も、値のスキーマ管理にAvroを使用しないので、コードでデータをデシリアライズする方法を示したものではありません。)
package kvstore.basicExample; ... import oracle.kv.Key; import oracle.kv.Value; import oracle.kv.ValueVersion; import java.util.ArrayList; ... ArrayList<String> majorComponents = new ArrayList<String>(); ArrayList<String> minorComponents = new ArrayList<String>(); ... // Define the major and minor path components for the key majorComponents.add("Smith"); majorComponents.add("Bob"); minorComponents.add("phonenumber"); // Create the key Key myKey = Key.createKey(majorComponents, minorComponents); // Now retrieve the record. Note that we do not show the creation of // the kvstore handle here. ValueVersion vv = kvstore.get(myKey); Value v = vv.getValue(); String data = new String(v.getValue());