2010-03-13 13 views
6

काश उत्पन्न हाइबरनेट के SessionFactoryहाइबरनेट: hibernate.hbm2ddl.auto = अद्यतन शो एसक्यूएल

hibernate.hbm2ddl.auto=update 

के पास और देखो में लॉग फ़ाइल एसक्यूएल बयान उत्पन्न करने के लिए। क्या यह संभव है w/ओ जावा कोडिंग (जानते हैं कि कैसे SchemaExport साथ परिणाम प्राप्त करने के लिए, लेकिन उम्मीद है कि हाइबरनेट समाधान "बॉक्स में" है)

उत्तर

5

आप का उपयोग करने के लिए सेटअप System.out प्रवेश कर सकता है

  • SessionFactory sf = new Configuration().setProperty("hibernate.show_sql", "true")

  • या log4j

    log4j.logger.org.hibernate.SQL=DEBUG, SQL_APPENDER 
    log4j.additivity.org.hibernate.SQL=false 
    

ईडीआई टी: यह शायद भी सहायक Hibernate sql logging with values

+3

दुर्भाग्य से, hbm2ddl दोनों विकल्पों को अनदेखा करता है। इसलिए मुझे अपनी लॉग फ़ाइल में कोई बदलाव/निर्माण कथन नहीं दिख रहा है। डीडीएल कथन के लिए – FoxyBOA

+5

@FoxyBOA आपको कोशिश करनी चाहिए: log4j.logger.org.hibernate.tool.hbm2ddl = डीबग – stacker

3

तुम भी

org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(boolean, boolean) 

पर एक डिबग ब्रेकपाइंट सेट और देखें कि यह कैसे जाता है कर सकते हैं।

+1

या 'SchemaExport' अगर यह अद्यतन नहीं है लेकिन प्रारंभिक स्कीमा निर्माण – Thilo

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