📜  spring boot hibernate log sql - Java (1)

📅  最后修改于: 2023-12-03 15:20:12.536000             🧑  作者: Mango

Spring Boot Hibernate Log SQL

如果您正在使用Spring Boot和Hibernate,则可能需要查看生成的SQL语句以进行调试或测试目的。在本文中,我们将介绍如何配置Spring Boot和Hibernate以打印SQL语句。

配置Hibernate

要开始打印SQL语句,我们需要配置Hibernate将生成的SQL语句记录在日志中。首先,打开application.properties文件并添加以下属性:

spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
logging.level.org.hibernate.SQL=DEBUG

这将自动使Hibernate将生成的SQL语句记录为调试级别的日志,格式化生成的SQL语句并将生成的SQL语句记录为调试级别的日志。

执行SQL查询

在运行时,Hibernate将自动记录生成的SQL语句,如以下示例:

@Repository
public class UserRepository {
    @Autowired
    private EntityManager entityManager;

    public List<User> getUsers() {
        CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
        CriteriaQuery<User> criteriaQuery = criteriaBuilder.createQuery(User.class);
        Root<User> root = criteriaQuery.from(User.class);
        criteriaQuery.select(root);
        TypedQuery<User> typedQuery = entityManager.createQuery(criteriaQuery);
        return typedQuery.getResultList();
    }
}
查看日志输出

在打开调试日志级别的情况下,您可以在控制台或日志文件中找到SQL查询日志输出。示例如下:

Hibernate: select user0_.id as id1_0_, user0_.name as name2_0_ from user user0_
总结

在本文中,我们了解了如何配置Spring Boot和Hibernate,以便记录生成的SQL语句。还了解了如何在控制台或日志文件中找到SQL查询日志输出。现在,您可以轻松地调试和测试Hibernate SQL语句。