我在Hibernate tools 3.3
中使用Eclipse Indigo
。
有没有办法查看我创建的Sql
的{{1}}等效查询?
有一个criteria
视图显示Hibernate Dynamic SQL
的{{1}}预览。
但是我找不到Sql
的任何预览。
答案 0 :(得分:0)
使用Hibernate Criteria API查看SQL输出的唯一方法是运行查询。没有预览。要查看生成的SQL,必须配置数据源以记录sql语句。这是Hibernate MS SQLServer方言的persistence.xml示例。 =“true”元素是运行Hibernate查询时要详细说明的所有指令。不用说,这对性能有很大的影响。
<persistence-unit name="projectPU" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>jdbc/projectDS</jta-data-source>
<properties>
<property name="hibernate.dialect"
value="org.hibernate.dialect.SQLServerDialect" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.format_sql" value="true" />
<property name="hibernate.use_sql_comments" value="true" />
</properties>
</persistence-unit>
只有在运行criteria.list()
Criteria crit = session.createCriteria(Foo.class);
// create aliases and projections etc. whose effects are not visible yet
List<Foo> fooList = crit.list(); // only now can you see errors!