JPQL查询转换为SQL查询

Ole*_*nov 2 java sql orm jpa jpql

是否可以将JPQL查询转换为SQL并将此查询保存到数据库?

我想在开发程序时编写JPQL查询.但是要将应用程序部署到服务器我需要编译查询到本机SQL依赖于DB.

Ole*_*nov 6

我找到了Hibernate HQL查询的答案;

final Query query = sessionFactory.getCurrentSession().createQuery(hql);

final QueryTranslatorFactory ast = new ASTQueryTranslatorFactory();
final QueryTranslatorImpl newQueryTranslator = (QueryTranslatorImpl) ast.createQueryTranslator(queryId, query.getQueryString(), Collections.EMPTY_MAP, (SessionFactoryImplementor) sessionFactory);
newQueryTranslator.compile(null, false);
sql = newQueryTranslator.getSQLString();
Run Code Online (Sandbox Code Playgroud)

谢谢:

http://good-old-mushroom-called-bedla.blogspot.com/2012/04/how-to-convert-hql-to-sql-in-hibernate.html

  • 此功能应添加到新版本的 JPA 规范中。 (2认同)