如何在save方法hibernate中获取更多信息?

时间:2017-09-18 23:23:37

标签: java hibernate spring-boot spring-data-jpa

我使用springboot,spring jpa存储库和hibernate。

我试图对某个对象进行保存,但我收到错误消息: SQL错误:8152,SQLState:22001

在application.properties中我有:

spring.jpa.show-sql=true

spring.jpa.properties.hibernate.use_sql_comments=true

spring.jpa.properties.hibernate.format_sql=true

但控制台中的信息是:

insert into Table(field1, field2, field3) 
        values
            (?, ?, ?)

在我的情况下,我有大约25个字段,我不知道如何调试它以查看哪个字段导致问题。例如,带有要在我的sql server中测试的数据的查询。

有没有办法获得更多关于它的信息?

由于

1 个答案:

答案 0 :(得分:0)

您只需要获取生成的sql以及在该查询中传递的值。

  1. 在application.properties

    中声明日志文件名

    logging.file =记录/ demo.log

  2. 在logback-spring.xml

  3. 中提供适当的appender和logger

    获取SQL

    <logger name="org.hibernate.SQL" level="DEBUG" additivity="true">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </logger>
    

    获取sql绑定参数

    <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE" additivity="true">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </logger>