gpt4 book ai didi

java - 为什么 Hibernate 4 比 JdbcTemplate 更快?

转载 作者:行者123 更新时间:2023-11-30 05:35:35 24 4
gpt4 key购买 nike

我有一个使用 Spring 4 和 Hibernate 4 作为 JPA 的项目。我有一个 DAO 层 bean,其方法如下:

@Transactional
public MyDtoObject getDataWithALotAggregation(String params){
String queryStr = "select aLotAggregatedData from aLotJoinedTables where aLotParams="+params;
Object[] rawData = sessionFactory
.getCurrentSession()
.createSQLQuery(queryStr)
.uniqueResult();
return mapRawDataToMyDtoObject(rawData);
}

我只是将此方法的时间与 jdbcTemplate.queryForObject(queryStr, mapper, params) 的时间进行了比较让我惊讶的是 Hibernate 比 JDBC API 快一点(~5-10%)。

知道为什么 Hibernate 更快而 JdbcTemplate 这么慢吗?

我确信 Hibernate 尤其是事务处理应该比 JdbcTemplate 慢...

最佳答案

速度较慢的原因很可能是因为 hibernate 生成的查询与您的不同。

我的猜测是您的代码有这个.uniqueResult();,它检查重复的对象。数据集越大,你在你的案例中感受到的就越多。但是,它可能是映射的列数。请求的列越多,响应就越慢。

关于java - 为什么 Hibernate 4 比 JdbcTemplate 更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56707701/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com