如何得到hibernate显示在控制台的hql或sql语句?

来源:百度知道 编辑:UC知道 时间:2024/05/22 15:46:24
比如我在使用hibernate添加一个对象到数据库的时候,控制台有这样的sql语句:
Hibernate: insert into XTWH.XT_SYSLOG (LOG_YHDM, LOG_IP, LOG_TIME, LOG_YHLX, LOG_STATUS, LOG_PORT, LOG_ID) values (?, ?, ?, ?, ?, ?, ?)
我现在要获得这天语句改怎么弄 ?谢谢各位了,情况紧急啊!!!!
我要的是得到这些语句后处理这些并自动存入数据库,也就是在java代码里得到这些东西,该怎么弄啊 ?

找到hibernate的配置文件-- hibernate.cfg.xml
加入:
<property name="hibernate.show_sql">true</property>

如果你用spring那么就要:
修改spring里面的配置文件:
...
<property name="hibernateProperties">
<props>
<prop key = "hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key = "hibernate.show_sql">false</prop>
...

不知道楼主的意思是不是把那些占位符换成具体的值,这样就可以直接复制SQL语句在数据库控制台粘贴直行了。

如果是这样的话。楼主有没有注意过直行hibernate时总是报的警告:
log4j:WARN Please initialize the log4j system properly.
使用这个log4j就可以显示相信信息。

我给你一个属性文件:log4j.properties把他放到和hibernate.cfg.xml相同目录下。修改属性文件中属性log4j.logger.org.hibernate.type=debug
这样,就可以显示详细数据了。

把以下内容保存命名log4j.properties

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=Syste