<转>用P6SPY查看HIBERNATE生成的SQL

SHOW_SQL获得HIBERNATE生成的SQL中,update/insert语句中的value被替换成“?”,昨天得本论坛高人指点用p6spy解决了此问题,特将解决之道回馈本论坛,以答谢Quake Wang。
开发环境:tomcat 4.1.24 + oracle 9i
注:p6spy.jar及spy.properties可以从www.p6spy.com下载
1、将p6spy.jar、commons-logging.jar、log4j-1.2.8.jar拷贝到WEB-INF\lib下
2、将spy.properties拷贝到WEB-INF\classes下
3、修改JDBC连接,在HIBERNATE与JDBC驱动之间插入p6spy,方便获得SQL语句
  1)由oracle.jdbc.driver.OracleDriver为com.p6spy.engine.spy.P6SpyDriver
   2)修改spy.properties样本的第41行,使用ORACLE驱动,封闭缺省的MYSQL驱动:
   # oracle driver
     realdriver=oracle.jdbc.driver.OracleDriver
   3)修改spy.properties样本的第54行,封闭缺省的MYSQL驱动:
    # the mysql open source driver
    # realdriver=org.gjt.mm.mysql.Driver
   4)修改spy.properties样本的第168行,将spy.log放到比较好找的位置:
     logfile     = E:/spy.log
   重新启动tomcat,E:/SPY.LOG可以看到hibernate生成的带值的SQL。

你可能感兴趣的:(oracle,sql,Hibernate,mysql,jdbc)