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);