Java 如何查看JPA发出的SQL查询?

当我的代码发出这样的调用时:

entityManager.find(Customer.class, customerID);

如何查看此调用的SQL查询?假设我无权访问数据库服务器来分析/监视调用,是否可以在IDE中记录或查看JPA调用发出的相应SQL查询?我要使用jTDS驱动程序反对SQL Server 2008 R2。

回答:

日志记录选项是特定于提供程序的。您需要知道使用哪种JPA实现。

  • Hibernate:

<property name = "hibernate.show_sql" value = "true" />

  • EclipseLink:

<property name="eclipselink.logging.level" value="FINE"/>

  • OpenJPA:

<property name="openjpa.Log" value="DefaultLevel=WARN,Runtime=INFO,Tool=INFO,SQL=TRACE"/>

  • DataNucleus:

将日志类别设置DataNucleus.Datastore.Native为一个级别,例如DEBUG

以上是 Java 如何查看JPA发出的SQL查询? 的全部内容, 来源链接: utcz.com/qa/432979.html

回到顶部