我使用JPA Toplink
开发了使用JPQL的app。根据我的研究,JPA将调用比JPQL语句更多的SQL。
我正在寻找一些JPQL分析工具,比如我可以执行JPQL或运行我的应用程序 告诉我运行的实际SQL数量。
有没有可用的东西?
更新 根据建议在我的persistence.xml中添加了以下内容,我的Netbean IDE现在显示了JPQL生成的实际SQL:D
<properties>
<property name="eclipselink.logging.logger" value="JavaLogger"/>
<property name="toplink.logging.level.sql" value="FINE"/>
答案 0 :(得分:5)
我认为不存在通用分析器,因为行为是特定于提供者的。但是,您可以通过启用正在使用的JPA提供程序的相应日志来查看正在执行的SQL。
休眠:
Can't make hibernate stop showing SQL using Spring JPA Vendor Adapter
EclipseLink:
http://wiki.eclipse.org/EclipseLink/Examples/JPA/Logging
http://www.adam-bien.com/roller/abien/entry/glassfish_and_jpa_sql_monitoring
OpenJPA:
http://openjpa.apache.org/faq.html#FAQ-HowdoIseetheSQLthatOpenJPAisexecuting%253F