办公室已经很晚了,您陷入了这个带有JoinColumns和层叠的奇怪的Jpa代码中,而您找不到错误所在。 您希望有一种方法可以查看打印的查询以及值。 
 稍微调整一下Spring Boot应用程序就可以实现。 
借助lombock,这是我们的jpa模型。
 package com.gkatzioura.hibernatelog.dao;  import javax.persistence.Entity;  import javax.persistence.Id;  import javax.persistence.Table;  import lombok.Data;  @Data  @Entity  @Table (name = "application_user" )  public class ApplicationUser { @Id private Long id; private String username; private String password;  }  是仓库
 package com.gkatzioura.hibernatelog.dao;  import org.springframework.data.repository.CrudRepository;  public interface ApplicationUserRepository extends CrudRepository {  }  找不到异常
 package com.gkatzioura.hibernatelog.controller;  import org.springframework.http.HttpStatus;  import org.springframework.web.bind.annotation.ResponseStatus;  @ResponseStatus (value = HttpStatus.NOT_FOUND) @ResponseStatus (value = HttpStatus.NOT_FOUND)  class ApplicationUserNotFoundException extends RuntimeException { public ApplicationUserNotFoundException() { } public ApplicationUserNotFoundException(String message) { super (message); } public ApplicationUserNotFoundException(String message, Throwable cause) { super (message, cause); } public ApplicationUserNotFoundException(Throwable cause) { super (cause); } public ApplicationUserNotFoundException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { super (message, cause, enableSuppression, writableStackTrace); }  }  还有一个控制器
 package com.gkatzioura.hibernatelog.controller;  import java.util.Optional;  import org.springframework.web.bind.annotation.GetMapping;  import org.springframework.web.bind.annotation.PathVariable;  import org.springframework.web.bind.annotation.ResponseBody;  import org.springframework.web.bind.annotation.RestController;  import com.gkatzioura.hibernatelog.dao.ApplicationUser;  import com.gkatzioura.hibernatelog.dao.ApplicationUserRepository;  @RestController  public class ApplicationUserController { private final ApplicationUserRepository applicationUserRepository; public ApplicationUserController(ApplicationUserRepository applicationUserRepository) { this .applicationUserRepository = applicationUserRepository; } @GetMapping ( "/user/{id}" ) @ResponseBody public ApplicationUser getApplicationUser( @PathVariable Long id) { Optional applicationUser = applicationUserRepository.findById(id); if (applicationUser.isPresent()) { return applicationUser.get(); } else { throw new ApplicationUserNotFoundException(); } }  }  通过将以下内容添加到application.yaml中,我们确保通过休眠创建表,查询记录,所记录的sql查询的格式以及显示的实际参数值。
 spring: jpa: hibernate: ddl-auto: create properties: hibernate: show_sql: true use_sql_comments: true format_sql: true  logging: level: org: hibernate: type: trace  只是
 curl http: //localhost :8080 /user/1  然后您得到了日志。
翻译自: https://www.javacodegeeks.com/2019/08/spring-boot-hibernate-print-queries-variables.html