【问题标题】:How to track the SQL calls from eclipse-link JPA to DB如何跟踪从 eclipse-link JPA 到 DB 的 SQL 调用
【发布时间】:2017-10-16 01:42:11
【问题描述】:

我使用 eclipse 链接作为 JPA 实现,并连接到在“jdbc:XXX://localhost:35001/”上运行的数据库。有没有办法可以跟踪所有的 sql 调用?我在本地机器上的 eclipse 中的 java 项目中运行它。

谢谢

【问题讨论】:

  • 使用像 P6spy 这样的代理驱动
  • “跟踪”到底是什么意思?此处对这个术语有不同的解释。

标签: java eclipse jpa jdbc eclipselink


【解决方案1】:

您可以尝试几个选项:

您可以尝试使用 Andreas 提到的 P6spy 之类的代理,或 log4jdbc 等替代代理。当您尝试跟踪来自多个客户端的调用时,这对于调试很有用,因为代理可以拦截来自它们的调用全部。

但是,对于您的情况,我建议使用 EclipseLink 的内置日志记录工具。在 Eclipse 链接中,您可以通过持久性 XML 中的条目配置语句的日志记录,如下所示:

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

我建议在更改代码后取消部署应用程序并停止并重新启动应用程序服务器,然后再重新构建然后再次部署应用程序。我已经看到了很多例子,在你经历整个周期时,日志记录并不是开始的。

最后一个选项是 SQL 跟踪。根据您的数据库后端,您可能能够运行配置文件或跟踪。 SQL-Server 将允许您跟踪它。然后,您可以查看对数据库执行的所有 SQL。这在您的场景中可能有点过头了,因为它会记录所有活动,除非配置不正确。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-26
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    相关资源
    最近更新 更多