Вот три способа (они, вероятно, другие), чтобы показать или скрыть запросы Hibernate SQL:
В конфигурации регистратора (уровень DEBUG для возврата):
<logger name="org.hibernate.SQL" level="DEBUG" />
В весеннем конфиге (например, в конфиге java):
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
final LocalContainerEntityManagerFactoryBean lef = new LocalContainerEntityManagerFactoryBean();
//...
final Properties jpaProperties = new Properties(); // java.util
//TODO replace "true" by a variable
jpaProperties.setProperty("hibernate.show_sql", "true");
lef.setJpaProperties(jpaProperties);
return lef;
}
В постоянстве.xml
<property name="hibernate.show_sql" value="true" />
Похоже, что конфигурация регистратора не зависит от конфигурации персистентности. Что касается конфигурации персистентности, кажется, что spring переопределяет файл persistence.xml (я тестировал его с помощью файла persistence.xml, загруженного Spring, если это не так, я не знаю, как будет вести себя)
Разница между этими двумя конфигурациями заключается в регистрации результатов, при обратной записи это будет выглядеть так:
2016-08-25 16:05:39,436 DEBUG org.hibernate.SQL(92) - alter table ...
При постоянной конфигурации:
Hibernate: alter table ...