SpringBoot JPA 记录打印SQL不打印参数问题的解决

SpringBoot 配置文件正确配置

application.properties
和logback配置文件无关

# JPA Hibernate SQL debug
logging.level.org.hibernate.SQL=DEBUG
# Logs the JDBC parameters passed to a query
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
# Spring JPA show sql
spring.jpa.show-sql=false
spring.jpa.properties.hibernate.format_sql=false

失败的Case

错误写法

@Query("select ... from slankka_copyright where shot_time BETWEEN ':start' and ':end' ", nativeQuery=true)
List<Projection> querySomething(@Param("start") Timestamp start,
                                @Param("end") Timestamp end);

注意,这种写法没有参数绑定,属实懵掉。无论如何也不会打印参数,而且查不出来数据。

正确写法

@Query("select ... from slankka_copyright where shot_time BETWEEN :start and :end ", nativeQuery=true)
List<Projection> querySomething(@Param("start") Timestamp start,
                                @Param("end") Timestamp end);
posted @ 2022-06-16 17:44  一杯半盏  阅读(2199)  评论(0编辑  收藏  举报