3 ответов:
Поэтому вам нужно написать свою собственную реализацию JPQL: -) в конце концов, преобразование JPQL в SQL для хранилища данных СУБД-это то, что представляет собой реализация JPQL. Удачи Вам!
Конечно, вы можете использовать существующую реализацию JPQL, будь то Hibernate, EclipseLink или DataNucleus ... и поскольку все они с открытым исходным кодом, вам следует пойти и покопаться в их кодовой базе.
Можно ли получить доступ к SQL, который генерируется JPQL?
Вы можете получить доступ к SQL
Stringиз гибернацииInterceptor, точнее от методаInterceptor.html#onPrepareStatement(java.lang.String)OnPrepareStatement
String onPrepareStatement(String sql) Called when sql string is being prepared. Parameters: sql - sql to be prepared Returns: original or modified sqlЕсли вы решили пойти этим путем, лучшим вариантом будет расширение
EmptyInterceptorи переопределять только те методы, которые вы хотите.Вы можете подключить перехватчик, используя следующее объявление в вашем
persistence.xml:<properties> <property name="hibernate.ejb.interceptor" value="com.acme.MyInterceptor"/> </properties>
Вы можете установить свойству
hibernate.show_sqlзначение true, тогда все SQL будут показаны на консоли.<property name="hibernate.show_sql">true</property>
Comments