📅  最后修改于: 2023-12-03 15:20:12.536000             🧑  作者: Mango
如果您正在使用Spring Boot和Hibernate,则可能需要查看生成的SQL语句以进行调试或测试目的。在本文中,我们将介绍如何配置Spring Boot和Hibernate以打印SQL语句。
要开始打印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语句记录为调试级别的日志。
在运行时,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语句。