2

GoogleDatastoreAPIの次の行を理解しようとしています。

JDOは、Javaクラスのアノテーションを使用して、クラスのインスタンスがエンティティとしてデータストアに格納される方法、およびデータストアから取得されたときにエンティティがインスタンスとして再作成される方法を記述します。

これはほとんどの人にとって非常に基本的な質問だと思います。しかし、クラスオブジェクトをデータベースに保存し、後で取得する必要がある理由がわかりません。代わりに、アプリケーションでデータストアをどのように表示するかを定義し、クラス全体を保存したり、常に同じプロパティを繰り返し保存したりするのではなく、必要に応じてクラスプロパティの関連データのみを保存してみませんか?クラスのインスタンスには、データベースに存在する必要のないあらゆる種類の情報(メソッド、クラス変数、インスタンス変数)が含まれています。これらの情報はソースコードに記述されているため、再現する必要はありません。データベースにあります-クラスが操作している特定の関連データのみを保存する必要があります。右?引用されたステートメントが何を意味するのか理解していないのかもしれません。

4

2 に答える 2

2

クラス全体を格納したり、常に同じプロパティを繰り返し格納したりするのではなく、代わりに、アプリケーションのデータストアをどのように表示するかを定義し、必要に応じてクラス プロパティから関連するデータのみを格納しないでください。

それはまさにあなたが引用したことです:

JDO は Java クラスのアノテーションを使用して、クラスのインスタンスがエンティティとしてデータストアに格納される方法と、データストアから取得されたときにエンティティがインスタンスとして再作成される方法を記述します。

注釈を使用して、「フィールド X を保存する」、「フィールド Y を無視する」などと言うことができます。

于 2009-04-30T20:20:17.193 に答える
2

Google データストアは、SQL Server や Oracle のような標準のリレーショナル データベースではありません。エンティティは、最初にスキーマを作成してからオブジェクトをスキーマにマッピングするという従来の方法ではなく、定義に基づいて格納されます。プライベート メンバーやメソッドがデータと共に保存されるとは思わないので、メソッドを含むオブジェクト全体が Datastore にシリアル化されるわけではありません。

于 2009-04-30T20:20:32.107 に答える