我想将HQL查询转换为纯Oracle查询?
有没有翻译呢。
前:
来自Table1的- >表1是表
的实体类将其转换为
从表
中选择*非常感谢。
答案 0 :(得分:4)
您可以在Hibernate中打开SQL日志记录并查看它生成的查询。具体来说,设置此属性:
hibernate.show_sql=true
编辑:如果根据您启动服务器的方式无法使用stdout,那么您将需要更改hibernate日志记录配置以打印SQL调试日志。将此行添加到log4j属性文件中。
log4j.logger.org.hibernate.SQL=DEBUG
答案 1 :(得分:3)
您也可以使用各种记录器。
<!-- Log all SQL DML statements as they are executed -->
<logger name="org.hibernate.SQL" level="debug" />
<!-- Log all JDBC parameters -->
<logger name="org.hibernate.type" level="debug" />
<!-- Log all second level cache activity -->
<logger name="org.hibernate.cache" level="debug" />
<!-- Log all transaction related activity -->
<logger name="org.hibernate.transaction" level="debug" />
<!-- Log everything -->
<logger name="org.hibernate" level="debug" />
答案 2 :(得分:0)
正如其他人所评论的那样,hibernate的hibernate.show_sql
属性可以记录Hibernate执行的SQL查询。
对于交互式查询,有Eclipse和IntelliJ IDEA的Hibernate控制台插件,可以让您输入HQL查询并执行它们。
注意,这是一种有用的技术,可以了解您是否需要执行HQL查询的优化(即,您希望查看是否使用适当的索引运行HQL查询)。