将HQL(hibernate查询语言)转换为oracle查询

时间:2012-08-03 12:00:02

标签: java hibernate hql

我想将HQL查询转换为纯Oracle查询?

有没有翻译呢。

前:

来自Table1的

- >表1是表

的实体类

将其转换为

从表

中选择*

非常感谢。

3 个答案:

答案 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查询。

对于交互式查询,有EclipseIntelliJ IDEA的Hibernate控制台插件,可以让您输入HQL查询并执行它们。

注意,这是一种有用的技术,可以了解您是否需要执行HQL查询的优化(即,您希望查看是否使用适当的索引运行HQL查询)。