当前位置: 首页 > 面试题库 >

在休眠中包含log4j属性文件以显示带有值而不是问号的查询

聂溪叠
2023-03-14
问题内容

我有如下的crearte log4j.properties 文件:

log4j.logger.org.hibernate=INFO, hb
log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.type=TRACE
log4j.logger.org.hibernate.hql.ast.AST=info
log4j.logger.org.hibernate.tool.hbm2ddl=warn
log4j.logger.org.hibernate.hql=debug
log4j.logger.org.hibernate.cache=info
log4j.logger.org.hibernate.jdbc=debug

log4j.appender.hb=org.apache.log4j.ConsoleAppender
log4j.appender.hb.layout=org.apache.log4j.PatternLayout
log4j.appender.hb.layout.ConversionPattern=HibernateLog --> %d{HH:mm:ss} %-5p %c - %m%n
log4j.appender.hb.Threshold=TRACE

有人可以帮助我将其包含在hibernate.cfg.xml文件中吗?抱歉,我实际上不知道log4j的工作方式。我创建它的目的是显示我的hibernate查询,value而不是?显示?任何更改,所以我需要进一步处理吗?

我从这里参考了Hibernate展示真正的SQL


问题答案:

hibernate.cfg.xml中的’show_sql’属性使查询直接打印到控制台。

Log4j允许将输出记录在控制台,文件,网络端口和数据库的任何位置。但是,您所拥有的简单配置也应该在控制台上打印。因此,首先删除show_sql属性,看看Log4j是否在控制台上放了任何东西。

如果这不起作用,则表明Log4j配置不正确。如果您使用的是Hibernate> 3.5,它将使用slf4j
api,该api默认使用logback而不是log4j。通过从类路径中删除logback
jar,然后添加slf4j-log4j12.jar和log4j.jar,可以轻松切换到log4j。

Log4j跟踪还使用“?”打印查询,但它也打印参数绑定,即“?” 将由数据库驱动程序或服务器替换。



 类似资料:
  • 问题内容: 我有一堂课; 我还有一节课; 我将如何搜索Student ,名字John,lastName Doe? 如果是出生日期属性,我将在日期上创建一个并添加一个相等限制()。我将如何对AppUser对象中的lastName和firstName进行操作? 问题答案: 查询: 要使用条件,请检查此线程 还可以从hibernate文档中查看此页面

  • 问题内容: 我们将Java blazeedshibernate与flex项目集成在一起。首先,我们在eclipse中测试了纯Javahibernate,并且执行良好。但是,当我们将相同的东西放入tomcat中进行火焰集成时,它会显示以下错误,这是唯一的错误。 这是hibernate.cfg.xml(要识别是否未找到hibernate.cfg.xml,我通过删除.cfg.xml的DOCTYPE进行测

  • 问题内容: 我想执行类似的查询 如果我使用neProperty()函数,它将返回记录为 如何使用hibernate条件实施? 谢谢 问题答案: 创建一个全选条件: 然后,您可以对其添加限制,即第1列= 8等,如下所示: 最后,您可以提供not in子句,如下所示:

  • 我希望避免文件中杂乱的东西,而在我看来,放在单独的文件中会更好。 应该类似于 这有可能吗?如果不是,什么是避免杂乱的明智方法呢?

  • 问题内容: 我正在建立一对多的关系。所以,我有一个父母和一个孩子。级联属性设置为全部。 我想知道我们是否考虑以下代码: Q1)如果父级拥有该关系,如,对于父级inverse = false,那么是否会在数据库中更新子级元素? Q2)如果孩子拥有关系,如,对于父inverse = true,则是否会在数据库中更新子元素添加? Q3)在是否可以看到更新的方面,谁拥有关联关系对上述代码没有影响? 非常感

  • 问题内容: 假设我有类似的课程: 我想在A上过滤标准,在不同的子类属性上过滤两个过滤器,例如: 我想要做的是使用“或”子句将criteriaB和criteriaC组合在一起,例如: 我该怎么做?我在这里对API稍作绊脚石。 问题答案: 使用别名代替嵌套条件: