我有一个使用 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/