問題タブ [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 投票する
1 に答える
396 参照

ruby-on-rails - Rails +UUID+積極的な読み込み

Railsアプリに2つのモデルがあり、1つはUUID主キーを使用しています。

私がそのようなことを試みるとき:

良い結果が得られましたが、ログファイルに2つのリクエストがあります。UUIDキーのIDキーを変更すると、遅延読み込みが機能しないのはなぜですか?

そして、私は次のようなものを持っているでしょう:

回避策はありますか?IDキーのuuidキーを変更しても、uuidを格納するために文字列形式を維持した場合、問題はありませんか?

ありがとう、

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

haskell - Eager 対 Lazy Haskell。Eager言語で可能な無限リスト?

どうやら、言語のセマンティクスをまったく変更せずに熱心に評価するように Haskell を実装することは可能です。それが本当なら、無限のデータ構造はどのように扱われますか?

http://csg.csail.mit.edu/pubs/haskell.html

したがって、中断された計算の断片 (サンク) の作成と破棄に多くの時間が費やされます。多くの場合、これらの計算は十分に単純であるため、代わりに評価するのも同じくらい簡単です。Faxen などは、静的分析を使用して、そのような熱心な機会を明らかにしました。代わりに、プログラムが熱心すぎる場合に回復できるメカニズムを使用しながら、あらゆる場所で熱心を使用することを提案します。

重要なのは、「プログラムが熱心すぎる場合に回復するメカニズムがある」ことです。これらのメカニズムは何ですか?無限のデータ構造や、私が熱心な言語では不可能だと信じ込まされてきた遅延評価の他の側面をどのように許可するのでしょうか?

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

list - 怠惰な評価と熱心な評価と二重リンクリストの構築

眠れません!:)

Haskell で二重リンク リストを作成する小さなプログラムを作成しました。それを実現するための基本的な言語の特性は、遅延評価でした (以下の一連のコードを参照してください)。私の質問は、熱心な評価を使用して純粋な関数型言語で同じことを行うことができるかどうかです。いずれにせよ、熱心な関数型言語がそのような構造 (不純物?) を構築できるようにするために必要なプロパティは何ですか?

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

json - grails、ドメイン リストを JSON としてレンダリングするときの熱心なフェッチを無効にする

モデル:

それから私はコントローラーを持っています

問題は、Author-Books の関連付けが遅延している場合でも、各 Author の本を熱心に取得するために N+1 クエリが実行されることです。何が起こり、どうすれば無効にできますか

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

ruby-on-rails - Rails-この場合、なぜEagerローディングが機能しないのですか?

私はこれらの3つのモデルにhas_manythroughリレーションを持っています:

しかし、ワインが10個ある場合、メインのワインリクエストの後に次のような10個のリクエストがログに表示されます。

ブドウごとのリクエストがないように、メインリクエストでブドウをロードするにはどうすればよいですか?

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

jpa-2.0 - JPAを使用した遅延vs熱心な読み込み

私はいくつかのJPAのものを機能させようとしています。別のテーブルへの外部キーを持つテーブルがあります。JPAエンティティを生成すると、それらの変数に対して1対多の注釈が付けられます...結果セットにすべてのテーブルを戻すために他に何をする必要がありますか?私が本当にそれを呼ぶなら。これが私がやろうとしていることの例です。

@OneToManyアノテーションはかなり座っています...

すべての値を取り戻すことを考えています。このテーブルを呼び出す名前付きクエリを呼び出す必要がありますか?

すべての結果セットを含むDistributionLinksの配列も取得すると考えるのはベースから離れていますか?これは、EagerLoadingとLazyLoadingの関係に関係していることがわかりました。正確には、わかりません。遅延読み込みでは、明示的に呼び出された@oneToMany属性のみが読み込まれることを知っていますか(私は思います)?必要なコレクションをすべて取り戻すにはどうすればよいですか。結果セットをループし、名前付きクエリを呼び出して、名前付きクエリを使用してすべての結果セットを取得する必要がありますか?

ありがとう。

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

java - ScrollableResults を使用した Hibernate での熱心なフェッチ コレクション

Hibernate を使用して、テーブルから約 1 億行を取得しようとしています。内部に料金のコレクションを含む永続エンティティ Item があります (別の永続エンティティ)。結果を反復処理してすべてのオブジェクトの料金にアクセスすることを考えると、n+1 の問題を回避するために熱心に料金を取得したいと考えています。

また、これを Provider という別のテーブルに結合したいことにも言及する必要があります (1 対 1 のマッピングですが、外部キーはありません)。私は試した:

私の Order クラスには、Provider フィールドと Item フィールドが含まれています。次のエラーが表示されます。

原因: org.hibernate.QueryException: クエリは結合フェッチを指定しましたが、フェッチされた関連付けの所有者が選択リストに存在しませんでした

私はアイテム(熱心に取り出された料金で)とプロバイダーを含む注文のスクロール可能なリストになりたいと思います。

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

hibernate - 2つのレベルで熱心なfetchModeを使用したGrails基準クエリ

私のGrailsプロジェクトには、次のクラスがあります。

クラスAにクエリを実行し、BとCのすべての関連付けを熱心に持ってきたいと思います。次の基準クエリを試しましたが、AからCを反復処理すると、hibernateはレイジー初期化を使用してBオブジェクトをクエリします。

何か案は?

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

java - Hibernate Fetch Eager Strategyを理解しようとしています

現在、リクエスト中に SQL ステートメントが休止状態 (V3.5.1) によって実行されると、パフォーマンスに重大な問題が発生します。そこで、eager-fetching の詳細を理解するために詳細に飛び込もうとしました。

基本的に、この問題は、一致する 2 つのプロファイル エンティティを参照する一致するエンティティを使用しているという問題から生じているようです。休止状態は、結合を使用してプロファイルを熱心にフェッチするだけで、両方ではないようです。もう 1 つは選択によってロードされます。

すべての関連付けは、FetchMode.Join および @ManyToOne(@OneToOne(optional=false, fetch=FetchType.EAGER, cascade=...) によってマークされます。

HQL と Criterias を使用して Hibernate 経由で MatchingData をフェッチするさまざまな方法をテストするために、簡単な例を設定しました。残念ながら、定型コードは大きすぎて詳細に投稿できません。オンデマンドで提供できます。

テストは

データベースに 2 つの MatchingData と 3 つの関連する ProfileData がある場合、結果は次のようになります。

私が理解しているように: HQL の検索は、それ自体で熱心なフェッチを行うのではなく、個々の選択によって ProfileData (およびその他のデータ) をロードします。もちろん、Eager Fetching Hint を追加することもできますが、これは複雑なデータ構造では非常に面倒です。

Criteria Query は、その SearchData と一緒に 1 つのステートメントで熱心な読み込みを使用して片側 (potentialMatch) を読み込むことができます。反対側 (searchingProfile) も取得されますが、従属エンティティ (SearchData およびその他の要素) は明示的な選択によって取得されます。

質問: 1 つの迅速なデータの読み込みを確実にするエレガントな方法はありますか?