com.google.appengine.api.datastore(Google App Engine API for Java)

パッケージ com.google.appengine.api.datastore

永続ストレージを提供します。JDO または JPA のインターフェースからもアクセスできます。

説明をご覧ください。

パッケージ com.google.appengine.api.datastore の説明

永続ストレージを提供します。JDO または JPA のインターフェースからもアクセスできます。フォールトトレランスのための冗長ストレージを提供します。

一般的な使用パターンは次のとおりです。

 // Get a handle on the datastore itself
 DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();

 // Lookup data by known key name
 Entity userEntity = datastore.get(KeyFactory.createKey("UserInfo", email));

 // Or perform a query
 Query query = new Query("Task");
 query.addFilter("dueDate", Query.FilterOperator.LESS_THAN, today);
 for (Entity taskEntity : datastore.prepare(query).asIterable()) {
   if ("done".equals(taskEntity.getProperty("status"))) {
     datastore.delete(taskEntity);
   } else {
     taskEntity.setProperty("status", "overdue");
     datastore.put(taskEntity);
   }
 }
 

これにより、いくつかの基本点がわかります。

  • 実際のデータストア自体には、DatastoreServiceFactory から生成された DatastoreService オブジェクトからアクセスします。
  • ストレージの単位は Entity オブジェクトで、種類(上記の「UserInfo」と「Task」)が指定されています。
  • エンティティの値は Key であり、それは KeyFactory で作成し、特定の既知のエンティティを取得することができます。キーを簡単に特定できない場合は、Query オブジェクトを使用して、1 つのエンティティを複数のリスト、Iterable、または Iterator として取得するか、一致するエンティティの数を取得します。
  • エンティティには名前付きプロパティがあり、その値は基本タイプまたは基本タイプのコレクションです。もちろん、バイト配列としてシリアライズされている場合は豊富なオブジェクトを格納できますが、そのためにこれらのプロパティによるクエリを効果的に実行できなくなる可能性があります。
  • エンティティはツリー構造で関連付けることができ、上記のスニペット内の Query は特定の UserInfo エンティティに関連付けられたタスク エンティティのみを検索し、「タスクの期限が今日より前」をフィルタとして適用します。

本番環境では、個々のクエリを効率的に処理できるように 1 つまたは複数のインデックスが構築されるまで、単純ではないクエリを実行することはできません。アプリケーションに必要なインデックスのセットは、WEB-INF/datastore-indexes.xml ファイルで指定することも、開発サーバーでアプリケーションをテストする際に自動的に生成することもできます。クエリに必要なインデックスが見つからなかった場合は、実行時に DatastoreNeedIndexException がスローされます。

Google App Engine では、多数のバージョンのアプリケーションにアクセスできますが、すべてのバージョンで共有されるアプリケーション用のデータストアは 1 つだけです。同様に、すべてのアプリケーション バージョンで共有されるインデックス セットは 1 つだけです。

アプリケーションの作成者は、提供されている JDO または JPA のいずれかのインターフェースをデータストアに使用することを検討できます。

関連情報:
DatastoreServiceGoogle App Engine デベロッパー ガイドの Datastore Java APIJDO APIJPA API
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Java の App Engine スタンダード環境