1

JPA ToplinkJPQLを使用したアプリを開発しました。私の調査によると、JPAはJPQLステートメントがどのように見えるかよりも多くのSQLを呼び出します。

JPQLを実行したり、アプリケーションを実行したりして、実際に実行されているSQLの数を教えてくれるようなJPQLアナライザーツールを探しています。

そのようなものはありますか?

更新 提案されたようにpersistence.xmlに以下を追加し、Netbean IDEはJPQLによって生成された実際のSQLを表示するようになりました:D

  <properties>
      <property name="eclipselink.logging.logger" value="JavaLogger"/>
      <property name="toplink.logging.level.sql" value="FINE"/>
4

1 に答える 1

5

動作はプロバイダー固有であるため、汎用アナライザーは存在しないと思います。ただし、使用しているJPAプロバイダーの適切なログを有効にすることで、実行中のSQLを確認できます。

Hibernate:

SpringJPAベンダーアダプタを使用してSQLの表示を休止状態で停止させることはできません

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

于 2010-12-27T07:26:55.793 に答える