`
javer
  • 浏览: 68767 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hibenrate控制SQL的输出

阅读更多

邢红瑞 发表于 2005-5-24 10:26:59

hibernate可以打印出sql语句,一般是配置文件加
<property name="show_sql">true</property>
或者直接
SessionFactory sf = new Configuration()
.setProperty("hibernate.show_sql", "true")
// ...
.buildSessionFactory();
其实这是不好的做法,有些服务器使用log4控制日志的例如JBOSS必须修改文件才允许访问System.out,还有就是所有的打印输出混淆在一起。
其实可以使用log4j的配置,
log4j.logger.org.hibernate.SQL=DEBUG, SQL_APPENDER
log4j.additivity.org.hibernate.SQL=false
og4j.properties 只需要放到你的 classpath 中就可以了, 对于 war, 你可以放到 WEB-INF/classes/
log4j.additivity.org.hibernate.SQL=false说明
这个 Logger 的 appender 不继承它的父Logger 是org.hibernate.SQL和 ROOT Logger,
目的是防止jboss那个xml中定义的ROOT Logger和我们这个log4j.properties中定义的Logger互相干扰.
 Beware that appenders are not singletons, they are additive! A category inherits all the appenders from its ancestors also (by default).
If you add an appender to a category and it writes to the same underlying stream (console, same file etc.) as some other appender, the same log message will appear twice (or more) in the log. In addition, if two categories in a hierarchy are configured to use the same appender name, Log4j will write twice to that appender.
Use cat.setAdditivity(false) on a category to disable inheriting of appenders. Then, log messages will only be sent to the appenders specifically configured for that category.
良好格式hibernate sql输出
 <property name="show_sql">true</property>
 <property name="format_sql">true</property>
log4j文件
log4j.logger.org.hibernate.SQL=DEBUG, SQL_APPENDER
#只显示启动信息
log4j.logger.org.hibernate=INFO
# 记录JDBC 绑定参数
log4j.logger.org.hibernate.type=INFO

分享到:
评论

相关推荐

    Hibenrate之多对多关联

    在Java的持久化框架Hibernate中,多对多关联(Many-to-Many)是一种常见的数据库关系类型,用于表示两个实体之间存在多个对应关系。这种关联在实际应用中非常常见,例如学生与课程之间的关联,用户与角色之间的关联...

    hibernatewuwei

    hibenrate的代码本人的培训的代码,老师讲解的很好。是一个学习hibenrate的好的工具

    Hibernate更新某些字段

    在 Hibernate 中,我们可以使用 DynamicUpdate 属性来控制更新的字段。例如,我们可以使用 @DynamicUpdate 注解来设置某些属性的更新权限: ```java @DynamicUpdate public class Teacher { // ... } ``` 通过...

    hibernate struts2 spring

    通过Hibernate,开发者可以用面向对象的方式处理数据,而无需编写大量的SQL语句。Hibernate提供了一种映射机制,将Java对象转换为数据库表,反之亦然。它支持多种数据库,如MySQL、Oracle等,同时具备事务管理、缓存...

    公交车查询系统,公交车查询系统

    在实现查询功能时,系统可能利用Hibernate的HQL(Hibernate Query Language)或SQL语句进行数据检索。例如,当用户输入线路号时,系统会根据线路号查询`bus_lines`表,获取相关线路信息,再通过线路中的站点ID查询`...

    hibernate学习资料

    hibernahibernate学习资料te学习资料hibernate学习资料v

    图书馆之春:您可以在其中借书的图书馆Web应用程序。 这是Spring MVC和Hibernate项目

    数据库和配置MySQL 飞路(用于数据迁移) GradleTomcat吉特Google Book API 后端技术JavaSpring MVC,Spring AOP,Spring Security Hibernate ORM,Hibernate Validator,Hibenrate Search(Lucene) 翻新,JSON ...

Global site tag (gtag.js) - Google Analytics