【问题标题】:Configure hibernate to use "show-sql=false" temporarily将休眠配置为临时使用“show-sql=false”
【发布时间】:2019-06-25 14:23:34
【问题描述】:

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

弹簧: jpa: 显示-sql:真

在我的 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加载测试属性,与开发/生产分离
  • 其实已经到位了,所以在生产上完全没有问题。但是在测试中,我有一个相当大的测试,有许多类似的请求来检查完整的队列并接收对性能的猜测。所以总的来说我需要输出,但对于那个测试我不需要。或者至少不是在前几个查询之后,因为那时我在日志中看到了系统。

标签: java hibernate jpa


【解决方案1】:

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

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

我希望这会有所帮助。

问候,维普

【讨论】:

  • 所以作为一个结论,我理解在运行时/在 Spring Boot 容器的启动和停止之间真的不可能更改这些设置?好吧,如果不可能,我认为我应该考虑替代方案,然后我可能更喜欢使用您提到的配置文件,这些配置文件我之前使用过。
  • 什么可行,但我自己没有尝试过,是在某个时候使用新属性重建实体管理器:stackoverflow.com/questions/27998502/…。因此,您可以运行一些测试,然后使用启用/禁用的 sql 日志重建实体管理器。
  • 嗯,是的,这正是我在最初帖子中概述的想法。但是我没有正确的属性路径。我一直在阅读 entityManager 以检查其中的内容 - 收集信息通常不是一件坏事。但是后来我发现完全不同的值,一旦我在 application.yml 中设置(并想通过代码更改)不存在,所以我认为它不是操纵它们的正确角落,是吗?
  • 至少我不知道要使用哪些属性路径...找不到合适的文档来使用。如果找到这个:“docs.spring.io/spring-boot/docs/current/reference/htmlsingle/…”但它并没有真正让我到那里......
  • 我在一个可以启用/禁用 show_sql 的项目中快速检查了它。我发现在这个项目中(spring boot 2.X/hibernate 5.X)LocalContainerEntityManagerFactoryBean 有 jpaPropertyMap hibernate.show_sql=true。这个 bean 使用这些属性构建了一个 EntityManagerFactory(从休眠中实现:SessionFactoryImpl)。
猜你喜欢
  • 2011-04-04
  • 2014-01-20
  • 1970-01-01
  • 1970-01-01
  • 2010-11-08
  • 2013-04-27
  • 1970-01-01
  • 2015-07-19
  • 1970-01-01
相关资源
最近更新 更多