問題タブ [objectify]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-app-engine - Google App Engine + Objectify: Register object once?
I recently got objectify working with app engine, but I'm having trouble with registering a class for objectify multiple times. While developing in Eclipse, which recompiles and runs again every time the localhost is refreshed, the script that registers the student is run multiple times, and crashes the program after just one refresh.
How can I ensure that this script is only run once? Is there a way to check if a class is registered with objectify? I followed a suggestion on another stackoverflow thread to do the following:
This gave me a different error. How can I solve this?
java - JPA と Android
Google App Engine を使用して Android アプリと通信する予定です。JPA アノテーションを使用する Objectify を使用し、組み込みの XML ライブラリを使用してシリアル化することを計画しています。両端で同じオブジェクトを使用したい場合、アノテーション (@Id など) はどうすればよいですか?
ありがとう、ジョン
java - ローカル GAE アプリケーションの実行に関する問題: 未解決のコンパイルの問題
プロジェクト ディレクトリを別のコンピューターに移動したところ、次の問題が発生しました。
- 私の Objectify JAR は既にビルド パスに設定されています
- JRE ライブラリとして、JDK 1.7.0_02 を使用しています。
- 私のAPP ENGINE SDKとして、私は1.6.1.1を使用しています
JRE/JDKをすべてアンインストールして再インストールするなど、同様の問題を解決するためにすでに多くのガイドに従っていますが、何も機能しませんでした。もうどうしたらいいのかわからない。誰かがその問題で私を助けてくれることを願っています、ありがとう!
google-app-engine - Objectify埋め込みマップは取得に失敗します
GoogleAppEngineでホストされているアプリケーションのデータアクセスレイヤーとしてObjectifyを使用しています。
マップを永続化しようとすると問題が発生します。私の豆は次のようになります。
まず、マップの「パラメータ」はプライベートではなく、JRE例外をスローしていたことに注意してください。マップを保存すると、すべてがうまくいきます。データストアから取得すると失敗します。
私の回避策は、@Serializedアノテーションを使用することです。私が達成したいのはGAEデータストアのエキスパンド機能を使用することなので、これは単なる回避策です。
objectify docによると、私は正しい操作を行っています。
例外の詳細:
原因:com.googlecode.objectify.impl.Transmog.loadSingleValue(Transmog.java:364)のjava.lang.NullPointerException(com.googlecode.objectify.impl.load.EmbeddedMapSetter.safeSet(EmbeddedMapSetter.java:65)) .googlecode.objectify.impl.load.CollisionDetectingSetter.set(CollisionDetectingSetter.java:37)at com.googlecode.objectify.impl.Transmog.loadSingleValue(Transmog.java:359)at com.googlecode.objectify.impl.Transmog.load (Transmog.java:340)at com.googlecode.objectify.impl.ConcreteEntityMetadata.toObject(ConcreteEntityMetadata.java:203)at com.googlecode.objectify.impl.QueryImpl $ ToObjectIterator.translate(QueryImpl.java:668)atcom。 googlecode.objectify.impl.QueryImpl $ ToObjectIterator.translate(QueryImpl.java:657)at com.googlecode.objectify.util.TranslatingIterator.next(TranslatingIterator。java:35)
java - Google App Engine で Objectify を使用して多対多の関係を作成するにはどうすればよいですか?
Google App Engine で Objectify を使用してオブジェクト間に多対多の関係を作成する適切な方法に関するドキュメントが見つかりません。
誰でもこれを行う方法を説明できますか? このために新しい「結合」クラスを作成する必要がありますか? どのくらい効率的になりますか?
java - Spring で DAO を実装する
依存性注入を使用して Objectify DAO を実装することを考えています。これにより、同じ "Dao" にアクセスするコードを維持できるようになりますが、実装は Objectify から Hibernate-MySQL または MongoDb に変更される可能性がありますが、コードの変更を心配する必要はありません。 UI またはクライアント側。
UserDao は、次の例に基づいています: http://turbomanage.wordpress.com/2010/01/28/simplify-with-objectify/
そのように、私は持っていcontext.xmlます:
実装を変更する必要がある場合は、この BeanUserObjectifyDaoImplを次のように変更するだけです。
UserHibernateDaoImplまたはUserMongoDBDaoImpl、任意の実装を任意のデータベースに保存します。
そして、次のように、UI / クライアントにコードをそのまま残します。
今すぐこれを行う必要がある理由の 1 つは、(objectify を介して) アプリ エンジンを使用して開発する必要があることですが、将来的には、一部のデータ アクセス オブジェクトを休止状態に変更し、一部を mongodb に変更する必要があるかもしれません (そのため、混在しています)。
このコードをテストしていませんが、この戦略は機能しますか?
google-app-engine - Google App Engine 用に Objectify によって生成された SQL を表示
私はこれを行う方法があると確信しています
Google App Engine の Objectify によって生成された SQL を表示する方法があるかどうかは誰にもわかりません (バッチ SQL ステートメントが正しく機能していることを確認したい)
Hibernate には、これをオンにする単純な XML キーがあることを知っています。Objectify にこのようなものはありますか?
java - objectify で memcache 例外を抑制するようにする
エンティティにobjectify の@Cached注釈を使用しています。明らかに、これは、エンティティに対して PUT を実行するたびに、それが memcache にも書き込まれることを意味します。ただし、最近、appengine で memcache がダウンし、その結果、objectify がエンティティを memcache に書き込めない (データストアへの書き込みは正常に行われる) のを見てきました。
ただし、この失敗では、objectify は memcache 例外をスローします。具体的には:com.google.appengine.api.memcache.MemcacheServiceException: Memcache put: Set failed to set 1 keys:
これらの例外をスローしないようにオブジェクト化する方法はありますか? それらは比較的無害であり、try/catch をどこにでも追加したくありません。
java - オブジェクト化された関係: 1 対多、これを効率的に実行できますか?
私は Objectify にかなり慣れていないので、何かを行う最善の方法について簡単な質問がありました。
人々がメッセージを送受信できるアプリケーションがあるとしましょう (簡単にするために電子メールを考えてみてください)。アプリが読み込まれるときに、特定のユーザーにメッセージを送信したすべての連絡先からのすべてのメッセージを読み込みたくありません。それはもったいないでしょう。代わりに、アプリで連絡先のリストを表示できるように、ユーザーがメッセージを送信した (既読または未読) すべての連絡先を読み込みたいと考えています。ユーザーが特定の連絡先をクリックすると、すべてを読み込みたいその連絡先からのメッセージをユーザーに表示します。
アカウントのすべてのメッセージを読み込まないと、これを行う良い方法が見つかりません。多対 1 の関係に関する Objectify wiki を読みましたが、これを行うための非常に非効率的でない良い方法をまだ思いつきません。オブジェクト化サイトが推奨する方法では、特定のユーザーのすべてのメッセージを読み込んで、一意の連絡先を解析する必要があるようです。
App Engine の読み取りと書き込みをできるだけ少なくしようとしており、可能な場合は読み取りの代わりにスモールを使用しようとしています (これを作成している間、アプリを実行するための全体的なコストは私の大きな懸念事項です)。 .
Objectify では、これをどのように行うべきですか?
java - クラスを小さくするために繰り返し継承を使用しても問題ありませんか?
1 つのデータベース テーブル (Google AppEngine + Objectify) にすべてのフィールドが必要なため、分割できない長いクラスがありました。可能な限り埋め込みクラスを使用しています。このクラスは、主にゲッターとセッター、およびそれらの背後にあるロジックで構成されています。
関数チャンクを取得するために、繰り返し継承を使用することにしました。次のようになります。
MyStoredModel extendsAbstractSettingsModel extendsAbstractHierarchyModel(親子オブジェクトの扱い)extendsAbstractInformationModel(タイトル、説明などを保持)extends- .....
AbstractModel
すべてのクラスが何をしているかを簡単に確認できます。また、テストも簡単だと思います。欠点は「継承チェーン」です。
それは悪い行動と見なされますか?クラスを小さくするためのより良い方法は何ですか?