hibernate查看真实执行的sql的方法


      和同事一块定位一个问题的时候,打印出来的sql是对的,但是执行的不对,由于使用的是namedParameter,所有不是真实执行的sql,最终调试发现,在AbstractBatcher类里面
在真正的执行sql语句:

public ResultSet getResultSet(PreparedStatement ps) throws SQLException {
		ResultSet rs = ps.executeQuery();
		resultSetsToClose.add(rs);
		logOpenResults();
		return rs;
	}



如下图所示,com.mchange.v2.c3p0.impl.NewProxyResultSet对象持有的creator的toString方法打印出了sql,当然了dialect不同,可能不是所有的数据库dialect都能拿到sql,但是大同小异。
      :

猜你喜欢

转载自asialee.iteye.com/blog/1579519