我有一个关于 Hibernate 的基本问题。
如果我们在Hibernate中使用HQL,那么如何从数据库中获取数据呢? 是不是像Hibernate把HQL转成SQL在数据库中执行返回结果?如果是这样的话,将 HQL 转换为 SQL 不会产生额外的开销吗?
最佳答案
是的,HQL 被翻译成 SQL。当然会有额外的开销,但这是值得的,因为
- 开发应用程序所需的时间更少,而且硬件成本低于工程师时间
- 与到处使用 JDBC 代码相比,该应用程序更易于维护
- Hibernate 可以通过仅在必要时查询和更新、批量更新等方式优化 JDBC 代码。
- 与实际执行查询和对数据库进行进程间和/或网络调用的成本相比,这种翻译的成本可以忽略不计。
关于hibernate - HQL在Hibernate中实时转成SQL吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8390167/