問題タブ [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.

0 投票する
1 に答える
658 参照

google-app-engine - Objectifyでキーを変更する方法

私は問題があります。以前は、を持っていたエンティティがありました@id private String key。しかし今、私はそれをに変更する必要があり@id private Long keyます。問題は、Objectifyが私を許可しないことです。私は

IllegalStateException: Loaded Entity has name but com.XX.YYY.MyClass has no String @id

だから私は何をすべきかわからない。

0 投票する
1 に答える
2012 参照

java - ObjectifyとRequestFactoryを使用して1対多の関係を持つオブジェクトを作成する適切な方法は何ですか?

ObjectifyとRequestFactoryを使用して1対多の関係を持つオブジェクトを作成する適切な方法は何ですか?これらのライブラリのドキュメントを読み、 listwidgetgwtgae2011などのサンプルプロジェクトの数も確認しました。@Embeddedそれらはすべて、1つのエンティティ内にすべてを格納するため、私が望むものではない注釈を使用します。ドキュメントによる別のオプション@Parentは、子クラスでプロパティを使用することです。私の例では(簡単にするためにゲッター/セッターは削除されています)、エンティティがPersonありOrganization、次のように定義されています

これで、1人の個人で組織を永続化するためにドキュメントを正しく理解した場合、最初に組織を永続化し、次にPersonオブジェクトに設定organizationKeyしてから永続化する必要があります。ObjectifyService.factory().getKey(organization)すべての子オブジェクトを手動で反復処理する必要があることはすでに好きではありませんが、RequestFactoryを使用すると、プロキシクラスが存在するため、すべてがより複雑になります。組織クラスとOrganizationProxyクラスをどのように定義しますか-Key<>ありまたはなしで?組織でこのようなものを定義する必要がありますか?

また、DatastoreからOrganizationとその子をどのようにロードしますか?すべてのPersonを手動で取得し、@PostLoadメソッドでOrganization.contactPeopleに入力する必要がありますか?

JPA / JDOが舞台裏で行うことを行うためだけに、たくさんのメンテナンスコードを書かなければならないようです。私は単にそれを取得しません:(

私は何かが足りないのですか、それともそれを実装する唯一の方法ですか?

事前に回答ありがとうございます!!!

0 投票する
1 に答える
914 参照

java - 親クラスの @PrePersist ハンドラーで子オブジェクトを永続化できますか? (Objectify 3.1b1)

私は Objectify を初めて使用し、1 対多の関係を実装しようとしています。エンティティOrganizationとエンティティPersonがあります。組織には@TransientプロパティList< Person > contactPeopleがあります。クラス Person には@ParentプロパティKey< Organization > organizationKeyがあり、セッターを介して設定できます。

Organization のハンドラでcontactPeopleを保持したいと思います。@PrePersistそのためには、Person に親キーを設定する必要があります。

Wikiには次のように書かれています。 「@PrePersist コールバックで @Id または @Parent フィールドを更新することはできません。この時点までに、低レベルのエンティティは完全なキーで構築されているため、オプションのパラメータとして渡すことができます。 "

これはまだ正確な情報かどうかわかりません。com.google.appengine.api.datastore.Entityハンドラーで取得したオブジェクトのキーにはPrePersist、文字通り「no-id-yet」というキーがあるためです。

これをどのように実装しますか?

ありがとうございました!

2011 年 11 月 17 日の更新:

新しい Objectify4 では、次のような半自動の関係を作成できます。

新しいバージョンの進化する設計ドキュメントです。

これは大きなニュースです。Twigの作者である John Patterson は、本日 Objectify プロジェクトに参加しました。

0 投票する
1 に答える
416 参照

java - objectify の put() 関数が例外をスローしないのはなぜですか?

GAE ネイティブの put() 関数は、失敗したときにいくつかの例外をスローします。

しかし、Objectify の put() 関数は、Objectify JAVADOC に記載されているように、例外をスローしません。

これが私の質問です。

Objectify の put() 関数が例外をスローしない場合、put() 関数の実行中に発生する可能性のあるエラーを検出するにはどうすればよいですか?

0 投票する
2 に答える
660 参照

java - Objectifyデータ構造を備えたAppEngine

本当にobjectifyが好きですが、アプリでデータを構造化するための最良の方法はまだ苦労しています。間もなく新しいアプリをリリースする予定ですが、正しく機能しない可能性のある構造や、パフォーマンスが非常に遅い構造にとらわれたくありません。

アプリはHRDにあり、多数のエンティティタイプがあります。説明のために、いくつかのエンティティの例を作成します。アプリがファーストフードレストラン向けであるとします。各チェーンはエンティティになります(たとえば、マクドナルド、ウェンディーズなど)。それぞれの特定のフランチャイズまたは場所もエンティティになります。従業員、注文、メニュー、タイムシートなどもエンティティになります。

最大の質問は、これらのエンティティ間の関係をどのように設定するかということだと思います。私は、各エンティティにデータストアIDを長く保存することで、関係を保存してきました。たとえば、各従業員エンティティは、彼らが働いている場所のデータストアIDと、彼らがメンバーになっているチェーンの長い値を持ちます。

この構造を使用すると、次のようなステートメントを使用して、特定のレストランからのすべての注文を照会できます。

この方法でデータストア/オブジェクト化を使用することに問題があるかどうかだけ興味があります。どんな入力でも素晴らしいでしょう!私は小規模で同様のものを使用してきましたが、うまく機能しているようです。理想的には、最も効率的な構造が必要ですが、これにはいくつかのテストが必要になる可能性があります。ただし、アプリがデプロイされると、変更が非常に困難になる可能性があります...

0 投票する
4 に答える
991 参照

google-app-engine - Objectify エンティティからランダム エントリを取得する

Objectifyを使用して Google App Engine データストアからランダムな要素を取得するにはどうすればよいですか? エンティティのすべてのキーを取得して、それらからランダムに選択する必要がありますか、それともより良い方法がありますか?

0 投票する
3 に答える
8712 参照

java - Objectify for GAEにクラスを登録するのはいつですか?

したがって、これはちょっとばかげた質問かもしれませんが、いつクラスを登録しますか:

現在、これは、他のクラスで使用しているインターフェイスのようなクラスのコンストラクターで行っており、アプリケーション専用のデータストアの使用を簡素化しています。ただし、次のエラーが発生します。

種類「ユーザー」を2回登録しようとしました

ですから、私の質問は、Objectifyにクラスを登録する頻度と具体的な時期についてだと思います。

ありがとう!

PSこれが私のクラス全体です:

0 投票する
1 に答える
5463 参照

google-app-engine - リストによるクエリフィルターをオブジェクト化しますか?

リストを使用して Objectify クエリを作成し、リストに一致するすべてのオブジェクトのリストを取得することは可能ですか? 例えば

0 投票する
2 に答える
2406 参照

java - GAE : ID によるオブジェクト化削除

オブジェクト「主キー」(自動インクリメント付きの長い ID) を送信する ajax クエリを使用して、GAE データストアからレコードを削除しようとしています。

現在、私はこれを行っています(キー= 6をハードコードしています):

これは機能します。Key=6 を持つエンティティを削除します。ただし、セキュリティ上の理由から、所有者のみがこのオブジェクトを削除できるように、別のパラメーター (fyi : "parent_user") が必要です。キーよりも多くのパラメーターを渡すことは許可されてObjectify.delete()いないようです...

どうすればこれを解決できますか? オプションのパラメーター+キーを使用しObjectify.get()て完全なオブジェクトを取得し、オブジェクト全体をdelete()に送信するのは、最適化されておらず、最適化されていないためです...

0 投票する
3 に答える
672 参照

java - Objectify + JSP:1:Nの関係を表示する

私の豆はそのように見えます:

「utente」プロパティは、私が作成した別のBeanのキーです。「Fattura」には「User」を1つだけ含めることができ、1つの「User」には多くの「Fattura」を含めることができます。

私のSpringMVCコントローラーは、Fatturaのリストの要求を管理し、それらを単純なjspで表示します。

jspのコードは本当に単純です。テーブル内のforeachサイクルのみです。

私の質問は:

「utente」を表示するにはどうすればよいですか?

私が持っているのはそのキーだけですが、JSPで$ {fattura.utente.firstName}のようなことをしたいのですが、どうすればよいですか?