一尘不染

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

java

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

entityManager.find(Customer.class, customerID);

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


阅读 1179

收藏
2020-03-15

共1个答案

一尘不染

日志记录选项是特定于提供程序的。您需要知道使用哪种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

2020-03-15