Hibernate

Если нужно посмотреть какой sql генерирует hibernate то самый простой способ -задать настройку при создании SessuinFactory:
SessionFactory sf = new Configuration()
.setProperty("hibernate.show_sql", "true")
// ...
.buildSessionFactory();

Категории логирования hibernate

Более расширенный способ, позволяющий боле точно задать что будет логироваться можно задать в конфигурационном файле log4j. (hibernate логирует сообщения через библиотеку slf4j)

Категорияфункциональность
org.hibernate.SQLЛогирует все SQL DML выражения как только они выполнены
org.hibernate.typeЛогирует все JDBC параметры
org.hibernate.tool.hbm2ddlЛогирует все SQL DDL выражения как только они выполнены
org.hibernate.pretty Логирует состояние всех entities (максимально 20) ассоциированых с сессией во время flush
org.hibernate.cacheЛогирует всю активность связанную с кэшом второго уровня
org.hibernate.transactionЛогирует всю активность связанную с транзакциями
org.hibernate.jdbcЛогирует все получения JDBC ресурсов
org.hibernate.hql.ast.AST Логирует HQL и SQL ASTs вовремя парсинга запросов
org.hibernate.secureЛогирует все запросы авторизации JAAS
org.hibernate Логирует всё. Это большое количество информации , но полезно для нахождения багов

Например:

<logger name="org.hibernate.SQL" additivity="false">  
    <level value="DEBUG" />  
    <appender-ref ref="console" /> 
</logger>  
<logger name="org.hibernate.type" additivity="false">
    <level value="TRACE" />  
    <appender-ref ref="console" /> 
</logger> 
       

Вы можете также загрузить пример log4j файла, в котором включено логирование SQL и параметров.