如何在hibernate中记录插入和更新查询的响应时间

时间:2016-11-01 07:21:27

标签: java hibernate

我正在使用hibernate版本5.0.1。我启用了hibernate.generate.statistics = true和log4j.logger.org.hibernate.stat = debug。仅为选择查询生成统计信息。我需要统计信息插入和更新查询。

截至目前,我们正在记录插入和更新查询执行前后的时间差。

请帮我澄清一下。

3 个答案:

答案 0 :(得分:1)

看一下hibernate拦截器:

public class AuditInterceptor extends EmptyInterceptor {

    private static final Logger LOG = LoggerFactory.getLogger(AuditInterceptor.class);

    @Override
    public String onPrepareStatement(String sql) {
        LOG.debug("start ...");
        return super.onPrepareStatement(sql);
    }

    @Override
    public void afterTransactionCompletion(Transaction tx) {
        LOG.debug("start ...");
        super.afterTransactionCompletion(tx);
    }
}

答案 1 :(得分:1)

请查看以下链接,这可能有助于您了解hibernate配置以激活hibernate性能日志记录。

Activate Hibernate Statistics To Analyze Performance

答案 2 :(得分:0)

添加行:

hibernate.show_sql=true
hibernate.format_sql=true

到应用程序的persistence.xml文件。

希望这有帮助。