我正在使用 hibnernate,并且我有一段代码,例如:
Criteria criteria = getCurrentSession().createCriteria(objectClass);
criteria.add(Restrictions.isNull("myFields"));
System.out.println("SQL: " + criteria.getSQL()); <-- How can I do this?
return criteria.list();
我想将 SQL(或 HQL)打印到控制台,以进行调试,但我找不到任何方法来获取此类信息。
我已经在 stackoverflow 上看到了很多答案,例如 this和 this但这些都是老问题了,我没有找到任何有用的答案。
有人可以帮助我吗?谢谢
最佳答案
最简单的方法是编辑 Hibernate 配置。
您可以设置
hibernate.show_sql = true
启用将所有生成的 SQL 语句记录到控制台的功能。
此外您还可以设置
hibernate.format_sql = true
hibernate.use_sql_comments = true
使其更具可读性
了解有关 Hibernate 配置的更多信息 here
关于java - 从 Criteria 获取 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43938152/