2012-02-14 11 views
5

क्या पहले कैश स्तर का उपयोग किया जाता है या नहीं, यह देखने के लिए हाइबरनेट लॉग स्तर के साथ कोई आसान तरीका है?हाइबरनेट अपने पहले स्तर के कैश का उपयोग कब करता है? इसे कैसे लॉग करें?

यदि मैं निम्नलिखित एचक्यूएल अनुरोध कर रहा हूं: "दस्तावेज़ डी से बचाएं d.folder में शामिल हों जहां d.id = 2"; कई बार, उसी सत्र में, कैश का उपयोग किया जाएगा?

धन्यवाद

उत्तर

2

प्राथमिक कुंजी द्वारा हाइबरनेट एल 1 कैश भंडार संस्थाओं। इसका अर्थ यह है कि यदि आप load() या get() का उपयोग करके एक ही इकाई लोड करते हैं (मुझे लगता है कि यह सरल प्रश्नों पर भी लागू होता है जैसे: from Document d where d.id=2) इसे कैश किया जाएगा।

आपके मामले में क्वेरी थोड़ा और जटिल है और आपको L2 का उपयोग करना होगा। दुर्भाग्य से एल 1 गतिविधि को इंगित करने वाला कोई लॉगर नहीं है (कम से कम documented) लेकिन एसक्यूएल प्रश्नों को देखते हुए शोल पर्याप्त हैं।

यह भी देखें:

+0

क्या एक छोड़ दिया साथ क्वेरी के बारे में शामिल होने के किसी अन्य संस्था पर लाने? लिंक – Quentin

+0

@ क्वांटिन के लिए धन्यवाद: मेरा मानना ​​है कि आपको इस मामले में एल 2 कैश में वापस आना होगा। –

+0

ठीक है, क्या आप जानते हैं कि मैं इसे कैसे लॉग कर सकता हूं (या कौन सी कक्षा इस कैश का प्रभारी है), बस यह सुनिश्चित करने के लिए? – Quentin

संबंधित मुद्दे