这是关于所提供的 2 个答案的一些信息。两者都为我工作。
用于打印您想要的查询:
<logger name="org.hibernate.SQL" additivity="false" >
<level value="DEBUG" />
<appender-ref ref="SQLROLLINGFILE" />
<appender-ref ref="STDOUT" />
</logger>
要“漂亮”地打印它,您可以使用jpaProperties.put("hibernate.format_sql", true|false);
更多信息在 [https://docs.jboss.org/hibernate/stable/core.old/reference/en/html/configuration-optional.html]
现在关于价值观。
接受:
<logger name="org.hibernate.type" additivity="false" >
<level value="TRACE" />
<appender-ref ref="SQLROLLINGFILE" />
<appender-ref ref="STDOUT" />
</logger>
输出将是:
2017-02-12 14:16:57 DEBUG org.hibernate.SQL -
select
producttyp0_.idProductType as idProduc1_25_1_,
producttyp0_.deleted as deleted2_25_1_,
producttyp0_.description as descript3_25_1_,
producttyp0_.name as name4_25_1_,
products1_.idProductType as idProduc6_25_3_,
products1_.idProduct as idProduc1_24_3_,
products1_.idProduct as idProduc1_24_0_,
products1_.deleted as deleted2_24_0_,
products1_.maxQty as maxQty3_24_0_,
products1_.name as name4_24_0_,
products1_.price as price5_24_0_,
products1_.idProductType as idProduc6_24_0_
from
ProductType producttyp0_
left outer join
Product products1_
on producttyp0_.idProductType=products1_.idProductType
where
producttyp0_.idProductType=?
2017-02-12 14:16:57 TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [35]
2017-02-12 14:16:57 TRACE o.h.t.descriptor.sql.BasicExtractor - extracted value ([idProduc1_24_0_] : [INTEGER]) - [null]
2017-02-12 14:16:57 TRACE o.h.t.descriptor.sql.BasicExtractor - extracted value ([deleted2_25_1_] : [INTEGER]) - [0]
2017-02-12 14:16:57 TRACE o.h.t.descriptor.sql.BasicExtractor - extracted value ([descript3_25_1_] : [VARCHAR]) - [desc]
2017-02-12 14:16:57 TRACE o.h.t.descriptor.sql.BasicExtractor - extracted value ([name4_25_1_] : [VARCHAR]) - [c0my6zko[test]]
2017-02-12 14:16:57 TRACE o.h.t.descriptor.sql.BasicExtractor - extracted value ([idProduc6_25_3_] : [INTEGER]) - [null]
以及其他提供的解决方案
<logger name="org.hibernate.type.descriptor.sql.BasicBinder" additivity="false" level="TRACE" >
<level value="TRACE" />
<appender-ref ref="SQLROLLINGFILE" />
<appender-ref ref="STDOUT" />
</logger>
输出将是:
2017-02-12 14:18:55 DEBUG org.hibernate.SQL -
select
producttyp0_.idProductType as idProduc1_25_1_,
producttyp0_.deleted as deleted2_25_1_,
producttyp0_.description as descript3_25_1_,
producttyp0_.name as name4_25_1_,
products1_.idProductType as idProduc6_25_3_,
products1_.idProduct as idProduc1_24_3_,
products1_.idProduct as idProduc1_24_0_,
products1_.deleted as deleted2_24_0_,
products1_.maxQty as maxQty3_24_0_,
products1_.name as name4_24_0_,
products1_.price as price5_24_0_,
products1_.idProductType as idProduc6_24_0_
from
ProductType producttyp0_
left outer join
Product products1_
on producttyp0_.idProductType=products1_.idProductType
where
producttyp0_.idProductType=?
2017-02-12 14:18:55 TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [36]
我个人喜欢第二个,因为信息较少(避免使用 o.h.t.descriptor.sql.BasicExtractor),但这取决于项目。
希望它能提供更多关于包含哪些内容的信息。