0

GCMが機能しているappengine接続のAndroidプロジェクトがあります。ここで、ローカルホスト上のMysqlインスタンスをappengineアプリケーションに接続します。私はこれらの指示に従いましたが、無駄でした。

ローカルmysqlインスタンスのテーブルは次のようになります

+---------+-------------+------+-----+---------+----------------+
| Field   | Type        | Null | Key | Default | Extra          |
+---------+-------------+------+-----+---------+----------------+
| _ID     | bigint(5)   | NO   | PRI | NULL    | auto_increment |
| COLUMN1 | varchar(20) | NO   |     | NULL    |                |
+---------+-------------+------+-----+---------+----------------+

エンドポイントを使用してこのテーブルに行を追加しようとしています。ただし、appengineプロジェクトは、繰り返し、ローカルデータストアに行を追加し続けます。

また、ドキュメントではEclipseLinkが使用されています。一方では、datanucleusライブラリがデフォルトでappengineプロジェクトに追加され、EclipseLinkドキュメントを使用したJPAが作成されます。ドキュメントは紛らわしいです。

datanucleusまたはEclipseLinkを使用する必要がありますか?私は両方の方法を試しましたが、失敗しました。エンドポイントはDatanucleusライブラリを使用します。たとえば、エンドポイントJPACursorHelperはDatanucleusにあるクラスを使用します。私が達成しようとしているのは、ローカルのappengine開発で、エンドポイントを使用して上記のテーブルに行を追加することです。

ご注意ください:

  1. エンドポイントクラスを生成した、注釈付きのTest.javaクラスがあります。
  2. <class>persistence.xmlにタグを追加しました。
  3. 注釈プロセッサはDatanucleusで構成されています。
  4. データベース開発パースペクティブは、ローカルインスタンスが接続されていることを示しています。
  5. 私の好みはDatanucleusです。
4

1 に答える 1

1

「TestEndpoint」クラスはAppEngine/Datastore固有であるため(そのJPACursorHelperクラスを使用)機能しません。標準のJPA機能を使用してクラスを作成する必要があります...そのメソッドが実行しようとしていることは何でも。GAE固有の機能を使用する と、移植性が失われます。

于 2013-03-25T15:44:51.217 に答える