問題タブ [eclipselink]
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.
java - javase プロジェクトでの Eclipselink の問題
eclipselink プロジェクトを実行しているときに、このエラーが発生します。
何か案は?eclipselink が jboss から何かを必要とするのはなぜですか? どの jboss jar が必要ですか。私はopen jpaを使用しますが、何らかの理由で、アプリからいくつかの永続化を終了した後、一連のstackoverflowエラーが発生し始めます。
java - HibernateまたはTopLinkの代替手段ですか?
Hibernateの実行可能な代替手段はありますか?できれば、JPAに基づかないものが望ましいです。
私たちの問題は、複雑な(多くのオブジェクトが相互に参照しているように)ステートフルRIAシステムを構築していることです。Hibernateは、主に1回限りのアプリケーション(JSFなど)で使用するように設計されているようです。
問題は主に遅延読み込みの問題です。初期化と実際にレイジーコレクションをロードするまでの間に複数のHTTPリクエストが存在する可能性があるため、トランザクションごとのセッションは問題外です。トランザクションが障害にぶつかって例外をスローすると、セッション全体が無効になり、遅延ロードされたオブジェクトが破損するため、長期間有効なセッション(アプリケーションごとに1つ)もうまく機能しません。次に、私たちには機能しないあらゆる種類のものがあります(初期化されたトランザクションの外部からのデータの暗黙的なデータ永続化など)。
私の貧弱な説明はさておき、肝心なのは、Hibernateは私たちが好きではない魔法をやっているということです。TopLinkはこれ以上優れていないようで、EJBの上に記述されています。
したがって、ステートレス永続化レイヤー(または十分に明るいオブジェクト指向のデータベース抽象化レイヤー)が最も必要なものです。
何か考えがありますか、それとも私は存在しない何かを求めていますか?
編集:あいまいな用語をお詫び申し上げます。訂正と洞察に満ちた回答をありがとうございました。私を訂正した人たち、あなたはすべて正しいです、私はEJBではなくJPAを意味しました。
java - EclipseLinkのバッチクエリヒントに相当するHibernate?
私がEclipseLinkで気に入っている点の 1 つは、バッチ クエリ ヒントと呼ばれる優れた機能です。これに相当する Hibernate はまだ見つかっていません。
基本的に、大量の結合を行うとすぐに面倒になり、必要以上に多くのデータを照会することになります (person を 6 つのアドレスに結合すると、person 情報が 6 回返されることに注意してください。これを追加の結合で乗算し続けます)。 .
Address、Email、Phone、および OrderHistory の 0:M コレクションを持つ Person エンティティを想像してください。すべてを結合するのは良くありませんが、バッチメソッドを使用します:
これにより、Person テーブルに対してクエリが実行され、それだけです。住所レコードに最初にアクセスすると、住所テーブル全体に対して単一のクエリが実行されます。Person テーブルで where 句を指定した場合、これと同じ基準が Address ロードにも使用されます。
したがって、1 つのクエリを実行する代わりに、5 つのクエリを実行します。
結合を使用してそれを行っていた場合、1 つのクエリですべてを取得できますが、結合のためにさらに多くのデータをロードする可能性があります。
とにかく、これに相当するものをHibernateのドキュメントで探しましたが、見当たりません。ありますか?
oracle - TopLink Essentials と EclipseLink の違いは何ですか
TopLink Essentials と EclipseLink の違いは何ですか? どちらも Oracle に由来しますか?
java - EclipseLinkでクエリキャッシュを構成する方法
アプリケーションの存続期間中、できれば初めて呼び出された後、キャッシュしたい状態のコレクションがあります。永続性プロバイダーとしてEclipseLinkを使用しています。私のEJB3エンティティには、次のコードがあります。
ただし、これは何も実行しないようです。MySQLに送信されるSQLクエリを監視すると、SessionBeanがこのNamedQueryを使用するたびに選択が実行されます。
データベースから、できればすべてのセッションで一度だけ読み取られるように、このクエリを構成する正しい方法は何ですか?
編集:私は次のようにクエリを呼び出しています:
glassfish - Glassfish Eclipselink 結合フェッチ ヒントが機能しない
私は eclipselink.join-fetch ヒントをグラスフィッシュで動作させるのに本当に苦労しています。
Task オブジェクトのコレクションを含む Client オブジェクトがあり、Task オブジェクトには WorkPeriod オブジェクトのコレクションがあります。
私のコードは次のようになります。
しかし、TOPLINK デバッグ レベルを fine に設定したときに何をしても、実際に実行される SQL は常に次のように表示されます。
明らかに、結合フェッチの第 3 層を実行していません。
他の誰かがこれに問題を抱えていましたか...それとも私だけですか:-(
ヘルプやヒント (しゃれは意図していません) をいただければ幸いです。
jakarta-ee - 異なる EJB モジュールによる EJB 継承は可能ですか?
別の ejb モジュールから別の (抽象) エンティティ クラスを継承するエンティティ クラスを持つことは可能ですか?
たとえば、EclipseLink は、サブクラスのデータベース テーブルに依存する列を作成しません。(抽象) スーパークラス エンティティを単に無視します。
java - query.getSingleResult()を使用した場合にのみEclipseLink問合せキャッシュが機能するのはなぜですか?
私のエンティティには、次のような名前付きクエリがあります。
私のコードでは、クエリ キャッシュ ヒントを設定します。
結果リスト全体を取得しようとすると:
EclipseLink は例外をスローします。
単一の結果のみを取得しようとすると、次のように機能します。
クエリ ヒントを削除すると、getResultList() も機能します。
私は例外を理解していません - それは特に getResultList() を期待していると言っているのではありませんか?? 私は何を間違っていますか?
hibernate - 落とし穴と実用的なユースケース: Toplink、Hibernate、Eclipse Link、Ibatis
JPA 実装として Hibernate をよく使用しました。ほとんどの場合、問題なく動作します。しかし、私は多くの落とし穴も見てきました。
- Hibernate は Java コレクションを独自のコレクション実装に置き換えるため、永続化されたオブジェクトを使用したリモート処理は困難です。したがって、すべてのクライアントには Hibernate .jar ライブラリが必要です。LazyLoading 例外などに注意する必要があります。この問題を回避する 1 つの方法は、Web サービスを使用することです。
- ダーティ チェックは、ロックなしでデータベースに対して実行されます。
- 「遅延 SQL」は、データ アクセスが ACID に準拠していない原因となります。(失われたデータ...)
- 暗黙の更新 >> したがって、オブジェクトが変更されているかどうかはわかりません (コミットによって更新が発生します)。
Toplink、Eclipse Link、および Ibatis に同様の問題はありますか? いつ使用する必要がありますか? 彼らは同様のパフォーマンスを持っていますか?Hibernate よりも Eclipse Link/Toplink を選択する理由はありますか?
java - キー値がエンティティである HashMap に @BasicMap を使用する方法
キー値がエンティティで値が整数であるマップに対してEclipseLinkの@BasicMapアノテーションを使用するにはどうすればよいですか?