hibernate show_sql值

时间:2010-01-13 09:48:58

标签: java hibernate

这是使用show_sql = true

时如何显示sql的示例
Hibernate:
    select
        propertyse0_.entity_name as entity1_3_0_,
        propertyse0_.entity_id as entity2_3_0_,
        propertyse0_.entity_key as entity3_3_0_,
        propertyse0_.key_type as key4_3_0_,
        propertyse0_.boolean_val as boolean5_3_0_,
        propertyse0_.double_val as double6_3_0_,
        propertyse0_.string_val as string7_3_0_,
        propertyse0_.long_val as long8_3_0_,
        propertyse0_.int_val as int9_3_0_,
        propertyse0_.date_val as date10_3_0_
    from
        OS_PROPERTYENTRY propertyse0_
    where
        propertyse0_.entity_name=?
        and propertyse0_.entity_id=?
        and propertyse0_.entity_key=?

可能显示使用sql收集的值而不是'?'

3 个答案:

答案 0 :(得分:2)

您需要设置日志记录框架以记录此级别的详细信息。有关Hibernate使用的各种记录器以及如何使用它们,请参阅here

你想要的特别是:

  • org.hibernate.type - 记录所有JDBC参数

答案 1 :(得分:2)

将您的日志记录设置为“TRACE”。 在你的log4j.properties中(假设你使用的是Log4J):

  

log4j.logger.org.hibernate = TRACE

会导致很多日志记录很难......

答案 2 :(得分:0)

不直接。您可以使用log4jdbc记录通过jdbc发送的所有数据。它有一个记录器,用于内联准备好的语句值。