खोज…


टिप्पणियों

इन प्रश्नों को लॉग करना धीमा है , यहां तक कि आमतौर पर हाइबरनेट की तुलना में धीमा है। यह लॉग स्पेस का भारी मात्रा में उपयोग भी करता है। उन परिदृश्यों में लॉगिंग का उपयोग न करें जहां प्रदर्शन की आवश्यकता होती है। हाइबरनेट वास्तव में उत्पन्न होने वाले प्रश्नों का परीक्षण करते समय इसका उपयोग करें।

लॉगिंग कॉन्फ़िग फ़ाइल का उपयोग करना

अपनी पसंद की लॉगिंग कॉन्फ़िगरेशन फ़ाइल में निम्न संकुल के लॉगिंग को दिखाए गए स्तरों पर सेट करें:

# log the sql statement
org.hibernate.SQL=DEBUG
# log the parameters
org.hibernate.type=TRACE

संभवतः कुछ लकड़हारा विशिष्ट उपसर्ग होंगे जो आवश्यक हैं।

Log4j config:

log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.type=TRACE

वसंत बूट application.properties

logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type=TRACE

Logback logback.xml :

<logger name="org.hibernate.SQL" level="DEBUG"/>
<logger name="org.hibernate.type" level="TRACE"/>

हाइबरनेट गुणों का उपयोग करना

यह आपको उत्पन्न SQL दिखाएगा, लेकिन प्रश्नों के भीतर निहित मूल्यों को नहीं दिखाएगा।

<bean id="sessionFactory"
    class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="hibernateProperties">
        <props>
            <!-- show the sql without the parameters -->
            <prop key="hibernate.show_sql">true</prop>
            <!-- format the sql nice -->
            <prop key="hibernate.format_sql">true</prop>
            <!-- show the hql as comment -->
            <prop key="use_sql_comments">true</prop>
        </props>
    </property>
</bean>

डीबग में SQL लॉग को सक्षम / अक्षम करें

कुछ अनुप्रयोग जो हाइबरनेट का उपयोग करते हैं, जब अनुप्रयोग शुरू होता है तो बड़ी मात्रा में SQL उत्पन्न होता है। डिबगिंग करते समय कभी-कभी विशिष्ट बिंदुओं में SQL लॉग को सक्षम / अक्षम करना बेहतर होता है।

सक्षम करने के लिए, इस कोड को अपने आईडीई में चलाएं जब आप आवेदन को डीबग कर रहे हों:

org.apache.log4j.Logger.getLogger("org.hibernate.SQL")
    .setLevel(org.apache.log4j.Level.DEBUG)

निष्क्रिय करने के लिए:

org.apache.log4j.Logger.getLogger("org.hibernate.SQL")
    .setLevel(org.apache.log4j.Level.OFF)


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow