基本上我需要计算一个对象被持久化、更新等的次数。使用@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/