問題タブ [lazy-loading]
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.
django - Django (およびその他の MVC/ORM) での遅延読み込み関係
Django などのフレームワークで遅延読み込みがどのように実現されるかを知りたい。結合を実行する決定はいつ行われますか? そして、Django で熱心な読み込みを強制する方法はありますか? Django にイーガー ロードを強制する必要がある場合はありますか?
linq-to-sql - ジェネリックメソッドを介して呼び出された場合、Linqは遅延読み込みを行いませんか?
だから、私はメソッドを持っています:私は穴のあるシーケンスの数を数えています、この数は最初の穴またはmax()でなければなりません
私はそれを次のように使用します:
だから、私はlinqから次のようなクエリを期待しています:
代わりに私は得ています:
したがって、linqはすべてのテーブルデータを取得してフィルタリングしますが、テーブルには多くのデータが含まれているため、この動作は受け入れられません。解決策はありますか?
java - ビューでの Hibernate Open Session が悪い習慣と見なされるのはなぜですか?
また、LazyLoadExceptions を回避するために、どのような代替戦略を使用していますか?
ビューで開いているセッションには次の問題があることを理解しています。
- 異なる jvm で実行される階層化されたアプリケーション
- トランザクションは最後にのみコミットされ、ほとんどの場合、前に結果が必要になります。
しかし、アプリケーションが単一の vm で実行されていることがわかっている場合は、オープン セッション イン ビュー戦略を使用して問題を緩和してみませんか?
c# - LINQtoSQLの遅延読み込み
DBML
私のdbmlには次のエンティティがあります:(例として作成)
矢印は私のdbmlの関係です。
本はメディアの一種であり、本のインスタンスには、その中のすべてのメディアに共通の値を持つメディアプロパティがあります。AuthorsForMediaは、AuthorId、MediaId、およびAuthorsForMediaIdと交差するテーブルです。
クエリ
リポジトリ内のgetクエリは次のとおりです。
結果のオブジェクトには、bookプロパティが設定され、mediaプロパティにはすべての値が設定されています。
デバッグ中に[ウォッチ]ダイアログでAuthorsForMediaを見ると、次の値が設定されています。
質問1
AuthorsForMedia(およびそれに対応するAuthorプロパティ)の値を遅延読み込みで評価できないのはなぜですか?
私が試したこと
この質問を読んだ後:
LoadWith / AssoicateWithでDataLoadOptionsを試しましたが、機能しませんでした。私は次のようなエラーで終わった
- クラスFooのインスタンスを作成できませんエラー:System.NotSupportedException:サブクエリはタイプBookのメディアではサポートされていません
- ... System.InvalidOperationException:指定された式はpAの形式である必要があります。ここで、pはパラメーターであり、Aはプロパティまたはフィールドメンバーです。
- または、値がなかっただけです
役立つ場合は、これらすべてのコードスニペットを提供できますが、それは概念的な問題であり、構文上の問題ではないと思います。
概要
これらの値をどのように取得する必要がありますか、それは左結合であるか、またはこれまでに見つけられなかったものである必要がありますか?
nhibernate - NHibernate Castle 機能を使用した遅延読み込み
NHibernateISession
の Castle によって生成されたを閉じる必要がありますか? ISessionManager
それらの とのトランザクションを処理するにはどうすればよいISession
ですか? 私はまだNHibernateに慣れていません。
編集:遅延読み込みを行いたいのですが、次のメッセージが表示されます:
初期化中 [ロールのコレクションを遅延初期化できませんでした: 、セッションまたはセッションが閉じられませんでした」
これは、特定のインスタンスを実装するために継承する汎用リポジトリです。
そのリポジトリを呼び出すサンプルを次に示します。
java - SmartGWTとSQLを使用してレイジーリストを実装する方法
私は昨日、SQLデータベースをSmartGWTと統合して怠惰なリストを作成しようとしていましたが、それを実装する方法がわかりませんでした。(JavaDoc、およびレイジーリストの例)
私がやりたいのは、世界中のたくさんの「サイト」のリストを作成することです。問題は、おそらくそれらが約100万個あることです。そのため、一度にロードする数をできるだけ少なくしようとしています。DB内の各サイトにはアドレスがあるため、(国->州->都市->サイト)のようなツリー構造でそれらを並べ替えようとしています。レベルを下げるたびに、次のレベルすべてを要求するDBへのクエリがあります(選択された州にサイトがあるすべての都市かどうか)。
どんな助けでも大歓迎です。
また:リンクされた例では、フォルダーとリーフは要素のタイプですが、フォルダー、フォルダーを保持してから、別のタイプのオブジェクトをリーフする方法はありますか?
java - 信頼できない Hibernate オブジェクト
クエリから返された Hibernate オブジェクトが信頼できない状況に遭遇しました。
次のコードを検討してください。
これが私のgetメソッドです:
これで、このオブジェクトがプロキシであり、遅延ロードされることは理解できましたが、常に機能するか、まったく機能しないことが予想されます。ここで何か間違ったことをしていますか?
hibernate - Springでjpa/hibernateを使用している場合、遅延初期化例外を回避するためにセッションを開いたままにするにはどうすればよいですか?
現在、EntityManagerを使用してBeanをロードした後にコレクションのプロパティにアクセスしようとしたときに、遅延初期化例外が発生しないように、エンティティBeanのコレクションを熱心にマークしています。
代わりにコレクションを遅延読み込みのままにしておく場合、セッションを開いたままにするにはどうすればよいですか?@Transactionalを試すことを考えましたが、それがうまくいったとしても、長いメソッドでトランザクションを開いたままにしておくのは正しくないように思われるので、やりたくありません。
asp.net - ここで遅延読み込みパターンが役立つかどうかはわかりません
私は現在、Web サイトのプログラミングに関する本を読んでおり、著者は、遅延ロード パターンを使用するように DLL オブジェクトをコーディングすると述べています。概念的には遅延ロードパターンをある程度理解していると思いますが、著者が実装した方法でその有用性を理解しているかどうかはわかりません
ところで - ここで私は一般的に遅延ロード パターンの有用性を求めているわけではありませんが、この特定の本がそれを実装する方法で有用かどうかを尋ねています:
1) とにかく、DLL オブジェクトが作成されると、DB クエリが (DAL 経由で) 実行され、さまざまな列からデータが取得され、DLL オブジェクトのプロパティが設定されます。フィールドの 1 つ (「 L 」と呼びます) にはかなりの量のテキストが含まれている可能性があるため、作成者は、そのプロパティが初めて読み取られたときにのみそのフィールドを取得することにしました。
A) 私たちの状況では、遅延ロード パターンを適用することで正確に何が得られましたか? メモリ使用量が少ないだけですか?
B) しかし一方で、L が他のフィールドとは別に取得される場合、アプリケーションが「 L 」を取得するために Sql Server に追加の呼び出しを行いますが、遅延ロード パターンがなければ、一度にすべてのフィールドを取得するため、Sql Server への呼び出しは 1 回だけで済みます。
ところで – 特定のデータを取得するために大量の計算が必要になる状況では、遅延ロード パターンが非常に有益である可能性があることは認識していますが、上記の例ではそうではありません
ありがとう