论坛首页 Java企业应用论坛

用P6SPY查看HIBERNATE生成的SQL

浏览 11871 次
该帖已经被评为精华帖
作者 正文
   发表时间:2004-04-05  
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。
   发表时间:2004-04-06  
不错,支持
0 请登录后投票
   发表时间:2004-04-13  
如果只是在一般的java类中使用p6spy
也就是说不使用任何中间服务器的情况下
应该如何初始化它呢
也就是应该如何指定spy.properties的位置呢

我是使用
P6SpyProperties.setSpyProperties("src//spy.properties");;

来指定的而且用
P6SpyProperties.getPropertiesPath();

来查看指定文件的路径也是正确的
但是在连接数据库是提示“没有适合的数据源”
不知是怎么回事
还请各位指教
0 请登录后投票
   发表时间:2004-04-14  
支持,不过还是用server的trace工具更好.
不如MSSQL和Oracle的trace工具都不错.
0 请登录后投票
   发表时间:2004-04-14  
否则到deploy的时候还要decouple p6spy.
从稳定性来说不能不说是个缺陷.

不过把p6spy的logging到log里面也是个不错的选择.
0 请登录后投票
   发表时间:2004-04-14  
楼主您好,
刚才去p6spy的网站上下载,提示链接不可用,可能是公司端口的问题。
麻烦您能否发给我一份?
谢谢先!
email:handongyu@bjlbs.com.cn
或者:oldsix@itpub.net
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics