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

データストアは、App Engine アプリケーションの固定ストレージを提供します。このデータストアは直接、または提供された JDO または JPA インターフェースから使用します。

参照:
          説明

インターフェースの概要
DatastoreConfig データストアのユーザー設定可能なプロパティです。
DatastoreService DatastoreService を使用すると、スキーマなしのデータ ストレージ システムにアクセスできます。
PreparedQuery Query からエンティティを取得して返すためのメソッドが含まれています。
Transaction データストアに対して実行する作業の論理ユニットについて説明します。
 

クラスの概要
Blob Blob には、サイズ制限なしのバイト配列が含まれます。
DatastoreServiceFactory DatastoreService 実装を作成します。
DataTypeTranslator DataTypeTranslator は、データ ストアの Property プロトコル バッファとユーザー用クラス(StringUser など)間で変換を行うためのユーティリティ クラスです。
DataTypeTranslator.ComparableByteArray Comparable を実装する byte[] のラッパーです。
DataTypeUtils DataTypeUtils は、どのクラスをプロパティとしてデータ ストアに安全に格納できるかをユーザーコードが判断できるようにするための、簡単なインターフェースを提供します。
Entity Entity は、データ ストレージの基本単位です。
EntityTranslator EntityTranslator には、Entity をプロトコル バッファに変換するためのロジックが含まれます。Entity は、このプロトコル バッファを使用して、API の実装に渡されます。
FetchOptions PreparedQuery の実行時に適用される制限、オフセット、チャンク サイズを記述します。
FetchOptions.Builder FetchOptions を作成する静的なメソッドが含まれます。
Key データストア エンティティの主キー。
KeyFactory ルート エンティティ グループ(親なし)に任意の Key オブジェクトを作成できます。
KeyFactory.Builder 祖先を持つ Keys の構築を支援するヘルパー クラス。
Link Link は長さに制限がある URL です。
Query Query は、データストアの 0 個以上の Entity オブジェクトの要求をカプセル化します。
Query.FilterPredicate FilterPredicate は、1 つのフィルタ述語を保持するデータ コンテナです。
Query.SortPredicate SortPredicate は、1 つのソート述語を保持するデータ コンテナです。
ShortBlob ShortBlob には、DataTypeUtils.MAX_SHORT_BLOB_PROPERTY_LENGTH 以下のバイト配列が含まれます。
Text Text は、サイズ制限なしの文字列を折り返します。
 

列挙型の概要
ImplicitTransactionManagementPolicy 暗示的なトランザクション管理においてデータストアが従うことのできる各種ポリシーを記述します。
Query.FilterOperator FilterOperator は、フィルタに適用する操作のタイプを指定します。
Query.SortDirection SortDirection は並び替え順序を制御します。
 

例外の概要
DatastoreFailureException DatastoreFailureException は、データ ストアと通信中に不明なエラーが発生した場合にスローされます。
DatastoreNeedIndexException DatastoreNeedIndexException は、インデックスを必要とするクエリに対して一致するインデックスが見つからなかった場合にスローされます。
DatastoreTimeoutException DatastoreTimeoutException は、データストアの操作がタイム アウトになった場合にスローされます。
EntityNotFoundException 指定された Key を持つ EntityNotFoundException が見つからなかった場合は Entity がスローされます。
PreparedQuery.TooManyResultsException PreparedQuery.asSingleEntity() に対する結果が多すぎることを示します。
 

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

データストアは、App Engine アプリケーションの固定ストレージを提供します。このデータストアは直接、または提供された JDO または JPA インターフェースから使用します。このデータストアは、障害発生時に対処できるよう冗長ストレージを提供します。詳細については、オンライン ドキュメントをご覧ください。

このパッケージには、主にフレームワーク作成者を対象にしたデータストアの低レベル API が含まれています。アプリケーション作成者は、データストアの操作において提供される JDO または JPA インターフェースのいずれかを使用することが推奨されています。データストア API を直接使用する場合の一般的な使用パターンは次のとおりです:

 // 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", userEntity);
 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);
   }
 }
 
このコードが示す基本事項をいくつか次に示します:

実稼働では、最低でも 1 つのインデックスが構築され、個々のクエリを効率的に処理できるようになるまで、通常の処理とは異なるクエリは実行できません。アプリケーションに必要な一連のインデックスは WEB-INF/datastore-indexes.xml ファイルで指定できます。開発サーバーでアプリケーションをテストするときに自動的に生成することも可能です。クエリに必要なインデックスが見つからない場合は、実行時に DatastoreNeedIndexException がスローされます。

Google App Engine を使用すると、アプリケーションのさまざまなバージョンにアクセスできますが、アプリケーションのデータストアは 1 つしかないため、すべてのバージョンがこのデータストアを共有します。同様に、一連のインデックスも、すべてのアプリケーションのバージョンで共有されます。