私たちはプロジェクトでHibernateを使用しています。私の質問は、名前付きクエリに関するものです。名前付きクエリがHibernateによってどのように処理されるかについて、誰かが私を案内できますか? Hibernateがレベル1のキャッシュを使用するように設定されている場合、キャッシュから名前付きクエリの結果も返されますか、それとも常にデータベースにアクセスしますか?Hibernateの名前付きクエリDBまたはキャッシュ?
2
A
答えて
2
レベル1のキャッシュは、休止状態のセッションです。非常にまれなケースを除いて、ステートレスセッションが使用される場合を除き、デフォルトではレベル1キャッシュがあります。クエリ結果はレベル1キャッシュにキャッシュされません。私はあなたが「セカンドレベルのキャッシュ」を意味すると思います。
名前付きクエリは、キャッシュに関する名前のないクエリとまったく同じように処理されます。
クエリをキャッシュするかどうかを指定できます。キャッシュされている場合は、データベースへのラウンドトリップを回避できます。キャッシュされているかどうかにかかわらず、セカンドレベルのキャッシュにあるエンティティのインスタンスが返されると、クエリによってIDが返され、エンティティ自体がセカンドレベルのキャッシュからロードされます。
詳細については、Hibernate 2nd level cache in a Grails appおよびthe reference documentationを参照してください。
関連する問題
- 1. パラメータ付きのHibernate名前付きクエリ
- 2. Hibernate 3での名前付きクエリのみ?
- 3. HibernateはDB内に名前付きテーブルを作成していません
- 4. クエリHibernateのキャッシュ
- 5. hibernateのサブクエリ内の名前付きパラメータ
- 6. 名前付きクエリjoin select
- 7. 名前付きHibernateクエリで "Named Query Not Unknown"と表示されますか?
- 8. NHibernateは名前付きクエリとicriteriaインスタンス
- 9. nhibernateでの名前付きクエリのエラー
- 10. JPAクラスの名前付きクエリ
- 11. 複数の名前付きクエリ(春)
- 12. Jena TDB:名前付きモデルのクエリ
- 13. Doctrineでの名前付きクエリ
- 14. Laravel Raw SQLクエリの名前付きパラメータバインディング
- 15. 名前付きコンフィグレーションファイル - HotまたはNot?
- 16. 名前付きクエリ長所と短所
- 17. DSV(名前付きクエリ)とデータベースビュー
- 18. ログDBテーブルの名前付け
- 19. hibernateは名前付きクエリを持つ子を削除しませんが、session.delete()で削除します。
- 20. 名前付きタプルフィールド名:単一の文字列またはシーケンス?
- 21. Hibernate:名前付きクエリでLikeとInを同時に使用できますか?
- 22. 休止状態での名前付きクエリの利点は?
- 23. hibernateという名前のクエリに似ています
- 24. エラー(名前付き)を持つクラスをキャッシュ
- 25. ネストとエラスティック検索を使用した名前付きクエリ
- 26. オブジェクトメソッド関数:匿名または名前付き?
- 27. Django get_absolute_urlと名前空間付きの名前付きURL
- 28. 名前付きコンセントから名前付きコンセントへのルーティング - Angular4
- 29. は、名前付きプロパティ
- 30. DBカーソル付きのカスタムアダプタのクエリ
Thanks Nizet。申し訳ありませんが、私は第2レベルのキャッシュを意味しました。私はもう少し説明しようとします。私はエンティティを持っており、私の名前付きクエリは2つのパラメータに基づいてエンティティを選択しています。したがって、この場合、キャッシュまたはデータベースから選択を休止状態にしますか? – Vivek
キャッシュからは決して選択しません。これはデータベースに送られ、問合せがキャッシュ可能な場合は、その結果が問合せキャッシュに格納されます。同じパラメータを使用して同じクエリを2回実行すると、クエリキャッシュから結果がロードされます。 –
あなたのお手伝いをささげてくださいNizet。 Query_cacheは、毎回データベースに行くクエリ以外にキャッシュを実装するためにはtrueに設定する必要があります。 – Vivek