我使用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中测试的数据的查询。
有没有办法获得更多关于它的信息?
由于
答案 0 :(得分:0)
您只需要获取生成的sql以及在该查询中传递的值。
在application.properties
中声明日志文件名logging.file =记录/ demo.log
在logback-spring.xml
获取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>