hibernate - HQL在Hibernate中实时转成SQL吗?

标签 hibernate

我有一个关于 Hibernate 的基本问题。

如果我们在Hibernate中使用HQL,那么如何从数据库中获取数据呢? 是不是像Hibernate把HQL转成SQL在数据库中执行返回结果?如果是这样的话,将 HQL 转换为 SQL 不会产生额外的开销吗?

最佳答案

是的,HQL 被翻译成 SQL。当然会有额外的开销,但这是值得的,因为

  • 开发应用程序所需的时间更少,而且硬件成本低于工程师时间
  • 与到处使用 JDBC 代码相比,该应用程序更易于维护
  • Hibernate 可以通过仅在必要时查询和更新、批量更新等方式优化 JDBC 代码。
  • 与实际执行查询和对数据库进行进程间和/或网络调用的成本相比,这种翻译的成本可以忽略不计。

关于hibernate - HQL在Hibernate中实时转成SQL吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8390167/

相关文章:

java - 由 : org. hibernate.AnnotationException: mappedBy 引用未知目标实体属性引起

java - 如何创建未分页但已排序的 Pageable.of(unpaged, unpaged, Sort ) 到 spring 数据 jpa 存储库?

java - 两个 @Transactional 是否在一个(同一) hibernate session 中执行?

java - Netbeans 的 Hibernate Unicode;为什么在db中保存为 "?????"

java - 没有基类访问的 hibernate 字段继承

java - 确保 JPA 使用 setter

MySQL和Hibernate同时读写

java - Jackson Polymorfic @JsonTypeInfo 类型属性始终为 null

java - hibernate jpa 更新两个字段并仅从一个字段读取

java - 嵌套异常是 java.lang.NoSuchMethodError : org. hibernate.integrator.internal.IntegratorServiceImpl.<init>