题
是否有可能访问SQL其产生的JPQL?
我想用SQL以后创建一个看我的目的。
我使用的休眠如果它事项。
解决方案
所以,你需要编写自己的JPQL实现,那么:-)毕竟,转换成JPQL SQL为RDBMS存储是一个JPQL实现是什么。祝你好运!
当然,你可以利用现有的JPQL执行的,虽然,是否休眠或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. 参数: sql - sql to be prepared 返回: 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>
不隶属于 StackOverflow