在Eclipse中安装了Hibernate Tools,如何从JPA查询语言中查看将要生成的SQL查询? (我正在使用Hibernate作为我的JPA实现)
我的Java DAO类看起来像:
public List<Person> findById(int id)
{
return entityManager.find(Person.class, id);
}
public List<Person> find(String name)
{
Query q = entityManager.createQuery("SELECT p FROM Person p WHERE name=?");
q.setParameter(1, name);
return q.getResultList();
}
我想看看相应的SQL查询是什么。我听说Hibernate Tools对此有一些支持。
答案 0 :(得分:4)
为了查看SQL查询,您只需在hibernate.cfg.xml文件中配置hibernate.show_sql = true即可。然后,您应该在应用程序执行期间在控制台窗口中看到查询。
这是hibernate运行时的功能,当Tools为您提供HQL编辑器时,您可以在将查询放入代码之前对其进行测试。
答案 1 :(得分:3)
Hibernate Tools确实支持:
1)使用HQL编辑器(您可以通过将光标放在查询上并按Ctrl + 1自动获取查询,然后在HQL编辑器中打开一个选项)。
2)确保您打开/可见动态SQL预览视图然后它将显示SQL Hibernate将从您的HQL生成。
3)完成;)