5
Ist es möglich, in der Laufzeit die HSQL-Anweisung mit EntityManager in SQL zu übersetzen?HQL zu SQL in Java 5
Ich habe diese Lösung gefunden, aber ich habe nicht die session, ich habe EntityManager
protected String toSql(String hqlQueryText) {
if (sessionFactory != null && hqlQueryText != null && hqlQueryText.trim().length() > 0) {
final QueryTranslatorFactory translatorFactory = new ASTQueryTranslatorFactory();
final SessionFactoryImplementor factory = (SessionFactoryImplementor) sessionFactory;
final QueryTranslator translator = translatorFactory.createQueryTranslator(hqlQueryText, hqlQueryText,
Collections.EMPTY_MAP, factory);
translator.compile(Collections.EMPTY_MAP, false);
return translator.getSQLString();
}
return null;
}
Sorry, aber ich finde getEntityManagerFactory in der EntityManager API http://docs.oracle.com/javaee/5/api/javax/persistence/EntityManager.html –
Es ist seit JPA 2.0 verfügbar. Siehe: http://docs.oracle.com/javaee/6/api/javax/persistence/EntityManager.html#getEntityManagerFactory() – MicSim
danke @MicSim Ich werde meine Frage bearbeiten. –