問題タブ [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.
google-app-engine - GWT + UIBinder + Gin + Guice + JDO+GAEの例
私はこれらすべてのテクノロジーをリンクしようとしていますが、多くの孤立した例があり、それらをリンクするのに十分な経験がありません
だから私の質問:同様の例があるかどうか?GinでUIBinderを使用することは可能ですか?それを実装するための推奨事項はありますか?
java - 1つのエンティティグループにエンティティを作成するにはどうすればよいですか?
永続性のためにJDOを使用してGoogleAppEngine(Java)に基づくアプリを構築しています。
誰かが私に例を教えたり、トランザクション内でjavax.jdo.PersistenceManager.makePersistentAll()を使用して(同じタイプの)複数のエンティティの永続化を示すコードを教えてもらえますか?
基本的に、トランザクション内でmakePersistentAll()を使用して保存できるように、1つのエンティティグループに複数のエンティティを配置する方法を理解する必要があります。
java - GAE Java で既存のオブジェクトの主キーを更新する必要がある
GAE Java を使用して Web アプリを構築しています。(appengine によって生成された) Long ID を主キーとして使用するクラスがあります。
この元のクラス (1 対多の関係) の親クラスとなる新しいクラスを作成したいと考えていますが、子には、現在のロング ID ではなく、タイプ「キー」の主キーが必要です。
主キーを既存の永続エンティティの long ではなくタイプ "key" に変更する最良の方法は何ですか? タイプ「キー」の主キーを持つ新しいクラスを作成し、古いオブジェクトからフィールド値をコピーする新しいオブジェクトをインスタンス化して永続化する必要がありますか? または、どうにかして既存のクラスを更新できますか?
ありがとう
google-app-engine - GAE の JDO を使用して読み取り専用トランザクションを定義できますか?
私は最新バージョンの GWT GAE w/ JDO スタックを使用しています。データストアで永続オブジェクトを更新するタスク キューがあります。保存オブジェクトを表示する gwt ユーザー インターフェイスもあります (変更なし)。
厳密に定義されたトランザクション (開始/コミット) 境界が与えられます。オブジェクトを更新するタスクと競合しない GUI の読み取り専用トランザクションを定義する方法はありますか?
私はそれらが競合していて、これらの例外をスローしていると信じています(要約)
org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:402) で org.datanucleus.jdo.JDOTransaction.commit(JDOTransaction.java:132) .... NestedThrowablesStackTrace: java.sql.SQLException: org での同時変更.datanucleus.store.appengine.DatastoreTransaction.commit(DatastoreTransaction.java:70)
java - java.sql.SQL例外から再試行/回復する方法: 同時変更
GAE で JDO を使用して、以下のような単純なデータベース トランザクション コード ブロックを使用しています。
スローされた java.sql.SQLException: Concurrent Modification から再試行/回復する良い方法は何ですか?
プライベート最終プロバイダー pmp; ...
PersistenceManager pm = pmp.get(); { pm.currentTransaction().begin(); を試してください。
MyObject myObject= pm.getObjectById(MyObject.class, id);
pm.currentTransaction().commit();
} 最後に {
if (pm.currentTransaction().isActive()) { log.severe( this.getClass().getName() + "データベース例外をキャッチしました。"); pm.currentTransaction().rollback(); } }
java - AppEngineJDOスキーマの変更。null許容でない新しい値の更新
null許容型には、intとbooleanが含まれます。私の質問は、これらのタイプの新しい変数を追加するスキーマの変更ですでに永続化されているオブジェクトを更新する方法です。nullが許可されていないnull変数が含まれているため、これらのオブジェクトを取得できないようです。
フィールドがnull許容値タイプでない場合、対応するプロパティなしでエンティティをロードすると、例外がスローされます。これは、エンティティがインスタンスの再作成に使用されたのと同じJDOクラスから作成された場合には発生しませんが、JDOクラスが変更された場合、またはエンティティがJDOではなく低レベルAPIを使用して作成された場合に発生する可能性があります。
これは、これらのタイプの変数をスキーマに追加することが不可能であることを意味しますか?
java - 複数の結果セットの結合
基本的にRDBMSの複数のデータソースからデータをマージするJavaアプリケーションを開発しようとしています。シナリオはこのようなものです。
MSSQL データベースと他の Oracle の 2 つのデータ ソースへの接続を作成しました。また、接続ごとに、ユーザーは SQL クエリと接続を含む DataObject (Java オブジェクト) を作成できます。クエリは接続で実行され、結果が表示されます。
今私が欲しいのは、ユーザーが複数の DataObject から取得した結果を結合してフィルタリングできることです。
現在、私は次の解決策を探しています。
私の選択についてアドバイスをください。また、他の解決策を検討してください。
java - JDO (Google App Engine 上) でプロパティを遅延ロードするにはどうすればよいですか?
@PersistenceCapable クラスの 1 つにこのコードがあります。
はBlob
非常に大きくなる可能性があるため、ほとんどの場合は必要ないため、遅延ロードしたいと思います。そのプロパティに注釈を付けて、すぐに読み込まれないようにするにはどうすればよいですか? aloneを含む別のクラスを作成しBlob
、レイジーな 1 対 1 を使用することもできますが、これをアノテーションで解決したいと考えています。
java - Google App EngineのドキュメントでJPAよりもJDOが強調されているのはなぜですか?
GoogleAppEngineのドキュメントのほとんどはJDO用に書かれています。JPAの使用に専念しているドキュメントは1ページだけです。これは、JDOがApp Engineに適しているためですか、それともJDOが優遇される理由が他にあるためですか?
java - JDO - モデル オブジェクトをビューに渡す前に DetachCopy を呼び出す必要がありますか?
デタッチ コピーについての私の理解では、PersistenceManager に気付かれずにオブジェクトを変更できるように、オブジェクトのコピーが作成されるということです。
モデル オブジェクトを使用するビューに渡す前に PersistenceManager を閉じるので、渡す前に detachCopy や makeTransient などを呼び出す必要はありません。
私が見た例はそれを呼び出します...これは私がhttp://code.google.com/appengine/docs/java/datastore/creatinggettinganddeletingdata.htmlから見た例です: