2

JPQLクエリをSQLに変換し、このクエリをデータベースに保存することはできますか?

プログラム開発時にJPQLクエリを書きたい。しかし、アプリケーションをサーバーにデプロイするには、DB に依存するネイティブ SQL にクエリをコンパイルする必要があります。

4

2 に答える 2

8

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();

おかげで:

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

于 2013-09-13T13:32:45.050 に答える