java - 使用实体监听器测量数据库操作所花费的时间

标签 java spring hibernate jpa listener

基本上我需要计算一个对象被持久化、更新等的次数。使用@PostPersist@PostUpdate等等。

但我还需要知道这些存储操作需要多长时间(仅总共),有没有办法使用(默认)实体监听器来完成此操作?

最佳答案

您可以激活 hibernate 统计信息:通过 persistence.xml 中的配置通过命令行属性将 hibernate.generate_statistics 设置为 true eigher

...
<properties>
    ...
    <property name="hibernate.generate_statistics" value="true"/>   
<properties>

并添加到您的日志配置

<logger name="org.hibernate.stat" level="DEBUG" />

这会告诉您每个 session 执行了多少条 SQL 语句以及需要多长时间

顺便说一句:在内部它是由 org.hibernate.engine.internal.StatisticalLoggingSessionEventListener

完成的

关于java - 使用实体监听器测量数据库操作所花费的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36228595/

相关文章:

java - grails域类多重循环引用问题

mysql - Hibernate Envers 性能 MySQL

java - 将克隆的 Servlet 部署到 Tomcat

java - EMF Compare 代码的编译问题

java - 没有可用的 'xxx.xxx.xxx.xxx.MyUserDetailsService' 类型的合格 bean : expected at least 1 bean which qualifies as autowire candidate

java - Hibernate 和 EntityManager 与连接

java - 如何在没有Eclipse的情况下运行Spring Boot应用程序?

java - 重构巨大的 if ( ... instanceof ...)

java - 在spring中解析JSON?

java - 如何覆盖 Spring Boot 2.0.x 中的默认连接池限制