0

1>具有数百万行和 100 列的表我想运行一个查询,该查询将从表中返回一行(我需要 3-4 列)。对于这个用例,JDBC 或 Hibernate 中的哪一个是更好的选择。

2>如果我们在这种情况下使用休眠,也会有内存不足的风险。我对休眠中的缓存问题一无所知,并且听说人们得到 OOM。

3>hibernate/JDBC哪一个会给出更快的结果。因为时间对我来说很重要。

4

2 回答 2

1
  1. 您可以使用 Hibernate 轻松完成此操作,只需使用“视图对象”即可。性能将与本机 JDBC 相同。
  2. 不,Hibernate 只会处理结果集中返回的内容。如果仅包含一行,则不会有任何问题。
  3. Hibernate 在两种情况下会很慢:它生成次优查询(您可以使用 .hbm 配置文件和/或注释对其进行调整)或处理结果很慢(当返回的结果集很大时会发生这种情况)。

顺便说一句,请参阅我关于使用Hibernate 进行 OLAP 样式查询的博客文章。

于 2012-07-12T06:50:42.253 回答
0

如果这是一个已经在使用休眠的项目,那么没有理由不使用休眠。请参阅 Istvan Devai 的回答。

如果这是一个新项目,而这就是你对 db 所做的一切,我认为使用 hibernate(或任何其他 JPA 实现)没有太多好处,你最好使用普通的 JDBC。

于 2012-07-12T06:54:50.893 回答