問題タブ [jdo]

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 投票する
12 に答える
28319 参照

java - GoogleAppEngineでのJDOとJPAforJava

Struts2を使用してGoogleAppEngineでプロジェクトを開発したいと思います。データベースには、JPAとJDOの2つのオプションがあります。提案してくれませんか?どちらも私にとっては新しいものであり、私はそれらを学ぶ必要があります。だから私はあなたの返事の後に焦点を当てます。

ありがとう。

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

google-app-engine - Intellij IDEA(9.xプレリリース)での単体テスト中にクラスパスでjdoconfig.xmlを複製する

ここで説明するように、IDEAは単体テストの実行中にjdoconfig.xmlをクラスパスに2回追加しています。誰かがこれの回避策を提案できますか?

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

java - Java Google App Engine データストア: Python と同様に、JDO クエリ フィルタで「IN」演算子を使用できますか?

このページでは、GAE Datastore で使用できる 'IN' 演算子について説明します。これは、単一の値だけでなく、可能な一致のリストに対してフィールドを比較します。

ただし、これは Python 用です。Java (App Engine 1.2.5) で、

私のjavax.jdo.queryでJDOUserException「式の一部を解析できませんでした: IN param」が発生します。

これを行う方法はありますか?

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

java - Google App Engine で JDO を使用して「ネストされた」オブジェクトを更新する

Google App Engine と JDO を使用して「ネストされた」データを更新する適切な方法がわかりません。RecipeJDOIngredientJDOがあります。

特定のレシピ インスタンスの材料を新しい材料リストに完全に置き換えたいと考えています。次に、そのレシピが (再) 永続化されると、以前に添付された材料はデータストアから完全に削除され、新しいものは永続化され、レシピに関連付けられます。

何かのようなもの:

これは、データストアから返された (デタッチされた) レシピ オブジェクトを直接更新すると正常に機能します。ただし、RecipeJDOをコピーして前述の更新を行うと、最終的に新しい材料が追加され、レシピがデータストアから再取得されるときに古い材料と一緒に返されます。(なぜわざわざコピーする必要があるのでしょうか? 私はフロント エンドで GWT を使用しているので、JDO オブジェクトを DTO にコピーしています。ユーザーはそれらをフロント エンドで編集し、それらをバックエンドに送信して更新します。データストア。)

手動で作成したオブジェクト (id を含むすべてのフィールドを設定) と、PersistenceManager によって返されたインスタンスでの操作で異なる結果が得られるのはなぜですか? 明らかに、JDO のバイトコード拡張が何らかの形で関与しています。

更新されたレシピを永続化する前に、古い材料を明示的に削除した方がよいでしょうか?

(余談ですが、ORM に不満を感じていて、単純な古い RDBMS に戻りたいと思っている人はいますか? :-)

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

google-app-engine - Google App Engine と JDO を使用した全文検索?

JDO で Google App Engine (Java) を使用しています。JDOに相当するものをどのように行うことができますか

これまでに見た唯一の推奨事項は、Lucene を使用することです。すぐに使える GAE では、この基本的なことができないことにちょっと驚いています。

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

security - JDO for Google App Engine:引用符をエスケープする

JDO(Google App Engine)でクエリのパラメータをエスケープするにはどうすればよいですか?

たとえば、変数名に安全でない文字が一重引用符(')として含まれている可能性がある場合、次のスニペットを安全にするにはどうすればよいですか?

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

java - 1対多の関係。データストアからオブジェクトを選択します

簡潔にするために、いくつかのコード(パッケージ宣言、インポート、その他のフィールド)を省略しました。ここに単純な1対多の関係があります。この瞬間まではうまくいきました。

//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

今、私はDBからすべてのレストランを取得(選択)する必要があります:

しかし、問題があります。クエリでは(DBのように)12のレストランが表示されますが、すべてのレストランの住所は0ですが、データストアではすべてのレストランの住所が2つ以上あります。

誰か同じ問題を抱えているか、解決策を知っていますか?

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

java - Google アプリ エンジン データストアを使用して Enum のコレクションをロードする

Java で Goole アプリ エンジン データストアを使用しており、列挙型のリストを含むオブジェクトを読み込もうとしています。オブジェクトをロードするたびに、リストは null です。オブジェクトは

列挙型は単純です

保存するコードは

それをロードするコードは

http://localhost:8080/_ah/adminを使用してデータストア内のデータを表示でき、リストが保存されていることを確認できますが、オブジェクトが読み込まれるとそこにはありません。

Eclipse プラグインを使用してプロジェクトを作成しましたが、私が知る限り、データストアの設定を変更していません。では、なぜ Enum リストが null なのですか?

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

google-app-engine - JDO:別のクラスが「所有する」エンティティのコレクションを参照する

List< IngredientJDO > を含むRecipeJDOがあります。材料を「所有」します。これは私にとって数週間うまくいっています。それでは、さまざまなレシピの材料を参考にし た新しいクラス「GroceryListJDO 」をご紹介します。RecipeJDO

新しいものを永続化しようとするとGroceryListJDO、次のようになります。

RecipeJDOとの間の材料の「所有権」の問題があるようGroceryListJDOです。

の一種の外部キーとして機能するGroceryListJDOを単に含むように変更することもできますが、そのようなものはORMを使用する目的を損ないます-DAOで材料を手動でフェッチしてアタッチする必要があります。List<String>IngredientsJDO

複数のコンテナJDOクラスに「アタッチ」する必要があるJDOコレクションを管理するための最良の方法は何ですか?

これは、Google App Engine、FWIWのJDOを使用したものです。

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

java - Google App Engine、JDO、equals/hashCode

Google App Engine で正常に動作するアプリを入手しました。equals と hashCode を実装するのを忘れていた JDO 拡張オブジェクトの 1 つに気付きました (オブジェクトをセットで使用する必要があります)。だから私はしました。これらの実装で特別なことは何もしていません。実際、Eclipse を使用してそれらを生成しただけです。そのようです:

そのため、アプリで任意の URL にアクセスしようとすると、次の例外がスローされます。

/addUser javax.jdo.JDOUserException: Persistent class "クラス com.bpapa.myapp.domain.User は拡張されていないようです。エンハンサーを再実行して、出力のエラーを確認してください。" データベースにテーブルがありませんが、操作にはテーブルが必要です。このクラスの MetaData の仕様を確認してください。org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:427) で org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:249) で com.bpapa.myapp.servlet.AddUserServlet.doPost(AddUserServlet.java) :34)

私が間違ったことについてのアイデアはありますか?