<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
但之后我必须重新启动应用程序服务器。我使用的是WebLogic10和JRebel。
是否可以在代码中需要的位置将hibernate.show_sql
设置为true?
发布于 2011-02-01 18:11:46
您可以配置Hibernate通过现有的日志记录工具(如Log4j )执行日志记录,请参阅3.5. Logging。在这种情况下,您可以使用日志记录工具在运行时控制Hibernate日志记录类别的日志级别。
例如,在Log4j中:
//Enable SQL logging
Logger.getLogger("org.hibernate.type").setLevel(Level.DEBUG);
//Disable SQL logging
Logger.getLogger("org.hibernate.type").setLevel(Level.OFF);
https://stackoverflow.com/questions/4861110
复制相似问题