当前位置: 首页 > 知识库问答 >
问题:

控制台中的Hibernate sql查询格式

朱锦
2023-03-14

我试图记录从。xml文件调用的sql查询。我面临的问题是,当我看到日志时,它没有很好地格式化。另外,我不知道为什么它会重复...

[主]信息org.dozer.dozerBeanMapper-初始化一个新的dozer bean Mapper实例。[主]信息org.dozer.dozerBeanMapper-初始化一个新的dozer bean Mapper实例。[main]信息org.springframework.orm.HibernateTransactionManager-使用HibernateTransactionManager[main]信息org.springframework.aop.framework.cglibaopProxy的Hibernate SessionFactory的DataSource[org.apache.commons.dbcp2.basicDataSource@1f03fba0]为HibernateTransactionManager[main]信息org.springframework.cg.framework.cglibaopProxy-无法[main]信息org.springframework.test.context.transactionContext-test context开始事务(1)test context[DefaultTestContext@436BD4DF testClass=TestretaRanteManager,testInstance=com.servicios.test.TestretaRanteManager,testInstance=com.servicios.test.TestretaRanteManager@6848A051,testMethod=FindProveedOresbyIdRestauranteManager,testException,activeProfiles=“{}”,propertySourceLocations=“{}”,propertySourceProperties=“{}”,contextLoader=“org.springframework.test.context.support.delegatingSmartContextLoader”,parent=[null]]];事务管理器[org.springframework.orm.hibernate5.HibernateTransactionManager@5740FF5E];回滚[true]选择restaurant0_.“ID_Restaurante”作为ID_RESTA1_4_0_,restaurant0_.“Descripcion”作为descrip2_4_0_,restaurant0_.“ID_Cadena_Restaurante”作为ID_CADEN3_4_0_from“Restaurante”restaurant0_where restaurant0_.“ID_Restaurante”=?Hibernate:选择restaurant0_.“ID_Restaurante”作为ID_RESTA1_4_0_,restaurant0_.“Descripcion”作为descrip2_4_0_,restaurant0_.“ID_Cadena_Restaurante”作为ID_CADEN3_4_0_from“Restaurante”restaurant0_where restaurant0_.“ID_Restaurante”=?将参数[1]绑定为[BIGINT]-[0]

我想要一些像

[主]信息org.dozer.dozerBeanMapper-初始化一个新的dozer bean Mapper实例。[主]信息org.dozer.dozerBeanMapper-初始化一个新的dozer bean Mapper实例。[main]信息org.springframework.orm.HibernateTransactionManager-使用HibernateTransactionManager[main]信息org.springframework.aop.framework.cglibaopProxy的Hibernate SessionFactory的DataSource[org.apache.commons.dbcp2.basicDataSource@1f03fba0]为HibernateTransactionManager[main]信息org.springframework.cg.framework.cglibaopProxy-无法[main]信息org.springframework.test.context.transactionContext-test context开始事务(1)test context[DefaultTestContext@436BD4DF testClass=TestretaRanteManager,testInstance=com.servicios.test.TestretaRanteManager,testInstance=com.servicios.test.TestretaRanteManager@6848A051,testMethod=FindProveedOresbyIdRestauranteManager,testException,activeProfiles=“{}”,propertySourceLocations=“{}”,propertySourceProperties=“{}”,contextLoader=“org.springframework.test.context.support.delegatingSmartContextLoader”,parent=[null]]];事务管理器[org.springframework.orm.hibernate5.HibernateTransactionManager@5740FF5E];Hibernate:选择p.“descripcion”作为“descripcion”,选择p.“id_proveedor”作为“idproveedor”

          from
              "RESTAURANTE_PROVEEDOR" rp
              inner join
                  "PROVEEDOR" p 
                      on rp."ID_PROVEEDOR" = p."ID_PROVEEDOR"
          where 
              rp."ID_RESTAURANTE" = ? binding parameter [1] as [BIGINT] - [0]

我的log4j.properties如下:

log4j.rootLogger=INFO, stdout
log4j.logger.org.hibernate=INFO
log4j.logger.org.hibernate.SQL=TRACE
log4j.logger.org.hibernate.type=ALL
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.rootConsola.layout.ConversionPattern=(%d{dd/MM/yyyy-HH:mm:ss}) %-5p: %-40c{1} - %m%n
...
<bean id="sessionFactory"
        class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"
        p:dataSource-ref="dataSource">
        <property name="packagesToScan" value="com.servicios.vo"/>
        <property name="mappingLocations">
            <list>
                <value>classpath*:hibernate/queries/**/*.hbm.xml</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</prop>
                <prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</prop>
                <prop key="hibernate.format_sql">true</prop>
            </props>
        </property>
    </bean> 
...

共有1个答案

邰胤
2023-03-14

hibernate.format_sql设置不适用于发生某些事情并引发包含SQL片段的异常时的异常原因。

换句话说,Hibernate.format_sql仅适用于Hibernate将其将要执行的SQL写入日志时,而不适用于某些异常原因中包含的SQL时。

 类似资料:
  • 问题内容: 我在使python打印正确对齐的文本时遇到麻烦。我已经尝试了所有我知道的东西,但是结果还是一样,这很烦人! 这是我在控制台中得到的 这是我的代码。 问题答案: 使用做一个右对齐字段长45个字符。并用于制作左对齐字符串。还可以考虑将线条打印提取为一个功能- 这样一来,您就可以在一个地方轻松更改它。像这样:

  • 我想知道如何按日期字段筛选firebase firestore,因为我看不到字符串、数字、布尔值以外的数据类型 如下所示,如果有人找到了一种基于日期字段筛选firestore集合的方法,请提供建议。

  • 我变得非常困惑,我试图通过laravels query builder运行一个应该可以工作的查询,但它会抛出奇怪的错误。

  • 我用sails和mysql开始了一个项目,我不知道如何配置它来显示控制台中执行的查询。

  • 所以,我的代码是 但是控制台是空的。没有错误,什么都没有。我做错了什么?

  • 我无法在Eclipse中运行python控制台。我下载了Pydev,设置了一个解释器和一个PYTHONPATH并导入了一个项目,一个Django项目。我将项目设置为Django的一个,然后我尝试右键单击带有Django环境的Project-->Django-->Shell。 我在控制台中出现了以下错误: 如果我尝试打开一个Windows shell并执行通常的python manage.py sh