1
   <persistence-unit name="acmDB" transaction-type="RESOURCE_LOCAL">
      <provider>org.hibernate.ejb.HibernatePersistence</provider>
      <jta-data-source>acm20-ds</jta-data-source>
      <properties>
         <property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
         <property name="hibernate.hbm2ddl.auto" value="update"/>
         <property name="hibernate.show_sql" value="false"/>
         <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider"/>
         <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.WeblogicTransactionManagerLookup"/>         
      </properties>
   </persistence-unit>

時々私hibernate.show_sqlはtrueに設定します

しかし、アプリケーション サーバーを再起動する必要があります。私は Weblogic 10 と JRebel を使用しています。

hibernate.show_sql必要な場所のコードで true に設定することは可能ですか?

4

1 に答える 1

2

Log4j などの既存のロギング機能を介してロギングを実行するように Hibernate を構成できます。3.5 を参照してください。ロギング。この場合、ロギング機能を使用して実行時に Hibernate ロギング カテゴリのログ レベルを制御できます。

たとえば、Log4j では次のようになります。

//Enable SQL logging
Logger.getLogger("org.hibernate.type").setLevel(Level.DEBUG);

//Disable SQL logging
Logger.getLogger("org.hibernate.type").setLevel(Level.OFF);
于 2011-02-01T10:11:46.010 に答える