【问题标题】:Disable Hibernate output [duplicate]禁用休眠输出[重复]
【发布时间】:2026-01-30 00:40:01
【问题描述】:

我正在开发使用 Hibernate 3 的 Java 桌面应用程序。一切正常,但是当我运行我的应用程序时,我的输出充满了如下行:

mar 20, 2013 8:26:07 PM org.hibernate.cfg.annotations.Version <clinit>
INFO: Hibernate Annotations 3.3.1.GA
mar 20, 2013 8:26:07 PM org.hibernate.cfg.Environment <clinit>
INFO: Hibernate 3.2.5
mar 20, 2013 8:26:07 PM org.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
mar 20, 2013 8:26:07 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : cglib
mar 20, 2013 8:26:07 PM org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
mar 20, 2013 8:26:07 PM org.hibernate.ejb.Version <clinit>
INFO: Hibernate EntityManager 3.3.2.GA
mar 20, 2013 8:26:08 PM org.hibernate.cfg.AnnotationBinder bindClass
INFO: Binding entity from annotated class: persistence.Document
mar 20, 2013 8:26:08 PM org.hibernate.cfg.annotations.QueryBinder bindQuery
INFO: Binding Named query: Document.findAll => SELECT d FROM Document d
mar 20, 2013 8:26:08 PM org.hibernate.cfg.annotations.QueryBinder bindQuery
INFO: Binding Named query: Document.findById => SELECT d FROM Document d WHERE d.id = :id
mar 20, 2013 8:26:08 PM org.hibernate.cfg.annotations.QueryBinder bindQuery
INFO: Binding Named query: Document.findByUrl => SELECT d FROM Document d WHERE d.url = :url
mar 20, 2013 8:26:09 PM org.hibernate.cfg.annotations.EntityBinder bindTable
INFO: Bind entity persistence.Document on table DOCUMENTS
mar 20, 2013 8:26:09 PM org.hibernate.cfg.AnnotationBinder bindClass
INFO: Binding entity from annotated class: persistence.LanguageEntry
mar 20, 2013 8:26:09 PM org.hibernate.cfg.annotations.QueryBinder bindQuery
INFO: Binding Named query: LanguageEntry.findAll => SELECT l FROM LanguageEntry l
mar 20, 2013 8:26:09 PM org.hibernate.cfg.annotations.QueryBinder bindQuery
INFO: Binding Named query: LanguageEntry.findById => SELECT l FROM LanguageEntry l WHERE l.id = :id

如何禁用它?非常感谢您的任何建议。

【问题讨论】:

  • 它在 xml 文件之一或log4j.properties

标签: java hibernate logging desktop-application


【解决方案1】:

请参阅下面的先前答案:

Unable to disable Hibernate log messages

看起来就像在运行时将 -Dlog4j.debug 选项添加到 java 命令行一样简单。

【讨论】:

  • 我没有将 log4j 库添加到我的项目中 - 它默认与 hibernate 一起添加?我尝试添加您建议的选项,但没有帮助。
  • Hmm 查看此页面上的最后一篇文章:LINK "Hibernate 现在使用 slf4j 日志外观,要桥接到 log4j,您需要将 log4j 和 slf4j-log4j12 jar 放到您的 lib 中,然后log4j 属性将控制 Hibernate 日志。”
  • @user1315305 你有没有解决这个问题?
  • 不,我还有一些其他问题,并决定尝试使用 EclipseLink,到目前为止我很满意。但无论如何,谢谢你的建议。
  • @user1315305 很划算。不要忘记投票以获得有用的建议! ;)
【解决方案2】:

尝试将hibernate.show_sql = false 放在休眠属性中

【讨论】:

  • 但是我该怎么做呢?我对 log4j 不是很熟悉——在哪里可以找到这个 .properties 文件?
  • @user1315305 你有log4j.properties文件吗
  • 我没有创建任何东西。它是默认创建的吗?我使用的 IDE 是 Netbeans 7.2,如果这很重要的话。
  • 我更新了我的答案,见一次
  • 我已经试过了 - 没有帮助。