2013-09-13 3 views
1

Можно ли преобразовать JPQL-запрос в SQL и сохранить этот запрос в базе данных?JPQL запрос преобразовать в SQL-запрос

Я хочу написать JPQL-запросы при разработке программы. Но whet разворачивает приложение на сервер. Мне нужно, чтобы запросы компиляции на собственный SQL зависели от БД.

+0

Что вы хотите «сохранить» запрос в базе данных? У вас есть таблица с запросами или ...? –

+0

Я тебя не понимаю. Hibernate делает это для вас: вы выполняете запрос JPQL, и он переводит его на SQL и выполняет его. В чем проблема? –

+0

Да, мне нужно сохранить запрос в базе данных в таблице для запросов. –

ответ

3

Я нашел ответ на запросы 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

+0

Эта функция должна быть добавлена ​​в новую версию спецификации JPA. –

Смежные вопросы