java - 配置hibernate暂时使用 "show-sql=false"

标签 java hibernate jpa

我有一个使用 Maven、JPA、Eclipse、Jenkins 的 java 程序。在开发时我有设置

Spring : 杰帕: 显示-sql:true

在我的 application.yml 文件中,工作正常。现在,对于负载测试,我有大量数据。如果我执行测试,它在 Eclipse 中工作正常,但在 Maven 中失败,因为 SureFire 插件在如此大的控制台输出上失败。我可以通过将控制台重定向到文件来使其工作,但这对 Jenkins 不起作用,如果我完全开始测试,它也不起作用,因为我想在控制台上明显看到结果。所以我想暂时关闭此设置(show-sql)。我想它一定位于 JPA/Hibernate 配置类中的某个位置,但我还找不到任何允许我更改它的组合。

如有任何建议,我们将不胜感激, 史蒂芬

我想我最接近的是这样的:

entityManager.setProperty( "hibernate.show_sql", false );
entityManager.setProperty( "spring.jpa.hibernate.show_sql", false );
entityManager.setProperty( "javax.persistence.hibernate.show_sql", false );

entityManager 自动连接到组件。但是当读取这些属性时,返回的是来自完全不同的命名空间的一些值(一些超时值),所以我认为我处于错误的角落......

最佳答案

我假设您也在使用 spring,您可以做的是使用自版本 3 以来可用的配置文件。有关更多信息,请参阅此链接:Spring Profiles 。您可以在运行时激活配置文件。例如,在 application-loadtest.yml 中将是您的负载测试的配置。

或者作为替代方案,您可以将此属性添加为参数环境变量或命令行参数:Externalized configuration

我希望这会有所帮助。

问候,WiPu

关于java - 配置hibernate暂时使用 "show-sql=false",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56747793/

相关文章:

java - 将 Canvas 转换为 OpenGL Android 游戏

java - 我应该使用对象来避免方法重载还是方法重载更好?

java - Hibernate 和 Oracle VARRAYS/NESTED TABLE

java - Java 8 中查询结果数据库的最优化方式

java - ImageMagick/IM4J FileNotFoundException

java - Android Studio 向导未显示

java - Spring 数据 : How to write a record in join table for unidirectional one-to-may?

database - 将初始数据导入到 Spring Boot 应用程序中

java - 将 orm xml 从外部 Jar 加载到 Spring Boot 中

hibernate - 如何避免 1 + n 数据库调用在 Hibernate 中进行双向可选的一对一关联?