spring data jpa使用@Meta打印有注释的sql
@Meta是spring data jpa在3.0版本新加的注解,可以帮助开发人员快速理解sql含义,适合长sql、长时间不看忘记含义的sql。
使用方式@Meta(comment=“”)
写一个更新
@Service
public interface UserRepository extends ListCrudRepository<User, Long> {
@Meta(comment = "更新name根据用户id")
@Transactional
@Modifying
@Query(value = "update #{#entityName} u set u.name = ?1 where u.id = ?2")
void updateUserById(String name, Integer id);
}
接下来开启sql注解(打印sql必须一并开开)
# application.yml
logging:
level:
org.hibernate.SQL: DEBUG
org.hibernate.type.descriptor.sql.BasicBinder: TRACE
spring:
jpa:
properties:
hibernate:
use_sql_comments: true
如果你使用的是xml
<persistence-unit name="my-persistence-unit">
<properties>
<property name="hibernate.use_sql_comments" value="true" />
</properties>
</persistence-unit>
如果你用properties
spring.jpa.properties.hibernate.use_sql_comments=true
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
配置完毕,执行sql会打印出来你写的注解