問題タブ [eager]

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

java - Lazy Initialization にもかかわらず熱心に読み込みますか?

多くの ManyToOne、OneToOne などの関係を持つエンティティがあり、それら自体にもいくつかの関係があります。例えば

(これは変更できません)。

これらは遅延ロードされます (デフォルトだと思います)。これは良いことであり、これを変更したくありません。ここで、エンティティ全体を id で熱心に検索して返したい場合があります。

エンティティを変更するための多くの提案と、積極的ローディングと遅延ローディングのどちらが優れているかについての議論を見つけましたが、エンティティは私たちの手の届かないところにあるため、現時点では役に立ちません。エンティティを変更せずに、可能なすべてのゲッターを呼び出して遅延エンティティを初期化する必要なく、これを行う方法はありますか (それらが多すぎるため)。たとえば、質問 24573877への回答はうまくいきません。

基本的には「エンティティを熱心にロードしますが、これは一度だけ」と言いたいです。現在、私はやっていreturn em.find(MyEntity.class, contractId)ます(これを変更できます)。

ありがとう、よろしく Urr4

0 投票する
0 に答える
238 参照

laravel - laravel 5.2にアップグレードすると、ネストされたEager Loadingが機能しません

試験、質問と回答の 3 つのモデルを作成しました。ネストされた熱心な読み込みを使用して、特定の試験のすべての問題と回答を読み込みます。

私の機能は次のとおりです。

Laravel 5.1で動作します。今日、新しいプロジェクトを作成してファイルを移動することで、プロジェクトを Laravel 5.2 にアップグレードします。ただし、上記の関数を実行すると、プログラムが突然終了します。クライアント側のコンソール ウィンドウ (Chrome) で、ステータス 500 (Internal Server Error) のエラーが表示されます。

「try...catch」を使用しようとしましたが、catchに行きません。get() 関数を実行しても終了します。どこに問題があるのか​​わからない。

また、簡単な熱心な読み込みを試みます。

laravel 5.2で動作します。

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

java - Hibernate での動的 Eager および Lazy Loading

私は Hibernate を初めて使用しますが、C# の Entity Framework の経験は豊富です。私が気に入っている機能の 1 つは、クエリで何をすぐに読み込むかを動的に決定できる機能です。たとえば、Class エンティティと Student エンティティの 1 対多の関係を考えてみましょう。

「View Classes」ページでこれを行うことができます:

これで、生徒のデータを収集するリソースを無駄にすることなく、クラス情報を表示することができます。ユーザーが「名簿でクラスを表示」をクリックした場合にのみ、次のことを行います。

その 1 つのステートメントで、この特定の状況では、一度にすべての情報を取得する必要があると判断できました。2 つのクエリではありません。100 クエリではありません。クエリは 1 つだけです。数秒前にクラスのみをロードしたにもかかわらず、すべて。

Hibernate に関する私のすべての読み物は、リレーションシップの構成ファイルで lazy="true|false" を指定する方法を説明していますが、コレクションをその場でいつロードするかを決定するオプションが本当に必要です。結局のところ、私は時速 30 マイルまたは時速 60 マイルしか出ない車を買うことに興味はありません。場所に応じて速度を選択する必要があります。

おそらく、フェッチ モードを JOIN として使用するオプションは、この状況では 2 つのクエリ (クラス用と学生用) しかないという点で受け入れられますが、1 つのクエリですべてを実行できるオプションがあることが本当に気に入りました。特に、ロードする子コレクションがいくつかあり、リレーションシップごとにクエリを実行したくない場合。一度に結合すると、ストリーミングする必要のある余分なデータが作成されることはわかっていますが、このレベルの制御が簡単に実行できないか、完全に利用できない可能性があることに驚いています。

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

php - モデルの代わりにIDを返すイーガーロード

以下のコードを使用した Eager Loading に問題があります。

問題はステータスモデルにあります

私が行った場合、

期待どおりの応答が得られます。すべて問題ありません

でももしそうなら

モデルではなく、ステータスのIDを取得します

ステータス モデル:

チケットモデル: