gpt4 book ai didi

hibernate - 在 hibernate 应用程序中使用 P6Spy 拦截对数据库的 JDBC 语句

转载 作者:行者123 更新时间:2023-12-04 23:12:17 25 4
gpt4 key购买 nike

我正在开发一个 hibernate 控制台应用程序并引用这篇文章http://www.mkyong.com/hibernate/how-to-display-hibernate-sql-parameter-values-solution/设置 P6Spy 以查看 Hibernate 生成的 SQL 的“(?)”的实际值是多少。

设置应该可以正常工作,因为我可以在应用程序启动期间看到 P6Spy 输出的信息/调试消息。但是,在那之后,P6Spy 似乎无法拦截任何 JDBC 语句。从hibernate生成的日志(如:Hibernate: insert into Module (projectName, moduleName, projectId) values (?, ?, ?))可以确定JDBC语句已经发送到数据库了。

以下是我的设置:

hibernate.cfg.xml

  • 已指定使用 P6Spy
    司机:<property
    name="hibernate.connection.driver_class">com.p6spy.engine.spy.P6SpyDriver</property>
  • 已经开启
    hibernate.show_sql 属性:<property
    name="hibernate.show_sql">true</property>

  • spy.properties
  • 已经改用我的实际
    数据库 JDBC 驱动程序,过滤器设置为
    false ,已经包含类别
    明确设置为记录任何内容。

  • module.log=com.p6spy.engine.logging.P6LogFactory
    realdriver=oracle.jdbc.driver.OracleDriver
    filter=false
    dateformat=yyyy.MM.dd HH:mm:ss
    excludecategories=
    includecategories=error, info, batch, debug,statement,commit,rollback,result
    appender=com.p6spy.engine.logging.appender.StdoutLogger


    我错过了任何重要的设置吗?

    最佳答案

    我从未使用过 P6Spy,但您可以将绑定(bind)变量输出到您的日志。尝试将其放入您的 log4j.properties 或 xml 文件中。

    log4j.category.org.hibernate.type=调试,控制台

    关于hibernate - 在 hibernate 应用程序中使用 P6Spy 拦截对数据库的 JDBC 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5044804/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com