Hibernate не показывает SQL-оператор даже с sql_show = true - PullRequest
10 голосов
/ 16 августа 2011

Я не уверен, почему он не показывает SQL заявление. У меня это работает раньше (на более ранней весне, я использую 3 на этот раз)

В ApplicationContext у меня есть:

<bean id="mySessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource" ref="myDataSource"/>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop>
            <prop key="hibernate.show_sql">true</prop>
        </props>
    </property>
    <property name="packagesToScan">
        <list>
            <value>my.model.*</value>
        </list>
    </property>
</bean>

В log4j:

# Standrd System.out appender
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.Threshold=DEBUG
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

# package override setting
log4j.logger.org.hibernate.SQL=DEBUG, stdout
log4j.additivity.org.hibernate.SQL=false
log4j.logger.org.displaytag=INFO

log4j.rootLogger=DEBUG, stdout

Все остальное кажется в порядке, но это просто не показывает мне sql.

Я что-то пропустил?

(Или можно печатать из SessionFactory из org.hibernate.cfg.Environment.getProperties ()? Это не показывает show_sql, вероятно, даже не введен должным образом?)

Пожалуйста, помогите Заранее спасибо!

Ответы [ 3 ]

9 голосов
/ 16 августа 2011

убедитесь, что DEBUG исправен, в какой-то момент журнал гибернации изменился с DEBUG на TRACE.Также убедитесь, что в вашем log4j.config нет порога.если вы хотите, чтобы ваши аргументы отображались также, включите org.hibernate.type.Вам также может понадобиться установить org.hibernate.jdbc=TRACE или попробовать org.hibernate=TRACE проанализировать ваши потребности и вернуться к нужным уровням для пакета.

4 голосов
/ 16 августа 2011

hibernate.show_sql настроен правильно. Где вы ищете выход? В любом случае лучше просто забыть о show_sql и использовать вместо этого логи Hibernate. Это гораздо более гибкий. Полностью удалите свойство "hibernate.show_sql", и в вашей конфигурации регистрации используйте

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

Обратите внимание, что нет причин возиться с аддитивностью, поскольку все пишет одному и тому же приложению, поэтому эта строка ничего не делает и должна быть удалена:

log4j.additivity.org.hibernate.SQL=false
0 голосов
/ 16 мая 2019

В моем случае мне удалось исправить это, добавив аргумент в конфигурацию запуска JBoss:

  1. Двойной щелчок на «Red Hat JBoss EAP xxx».
  2. Нажмите в »Открыть запуск ocnfiguration "(вкладка" Общая информация ").
  3. Добавить -Dorg.jboss.as.logging.per-deployment=false в конце поля" VM arguments ".

Сработало у меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...