在Java日志中将HQL查询转换为SQL
我有一个如下的示例查询
String hql = "from Stock s where s.stockCode = :stockCode";
List result = session.createQuery(hql)
.setParameter("stockCode", "7277")
.list();
结果是一个我期望的列表,但我想知道如何在执行查询之前在Tomcat日志中对sql查询进行sysout。与在log4j或hibernate配置中设置属性相比,我是否可以在代码级别这样做
在本例中,我正在寻找如下输出
select * from Stock s where s.code = 123;
# 1 楼答案
要在代码级别访问SQL,可以将the datasource proxy library与侦听器一起使用
您可以在my github repojpa-puzzles上找到数据源代理及其侦听器的示例
但是,如果您只想看到带有绑定参数的sql-s(
show-sql
只显示sql-s而不显示绑定参数),则使用hibernate配置更容易: