java - hibernate 6 : What is SQM?

标签 java hibernate parsing orm abstract-syntax-tree

在 Hibernate 6.0 路线图 ( https://github.com/hibernate/hibernate-orm/wiki/Roadmap6.0 ) 中提到 SQM 即将推出。

什么是 SQM?

在本路线图中,以下简短词语对其进行了描述:

SQM integration: Improved performance for SQL generation and execution (smaller SQL, position-based extraction of results rather than name(alias)-based); Unified approach for HQL, JPQL and Criteria queries.

这是我对 SQM 的全部了解。有人可以更详细地解释一下吗?它到底是什么,在编码方面会是什么样子,它有哪些好处?

最佳答案

SQM 代表语义查询模型,它是同时处理 JPQL 和 Criteria API 的新实体查询解析器。

Hibernate SQM

新的解析器更加灵活,它提供了更好的实体查询 SQL 转换。

从用户的角度来看,SQM 提供了更多的功能,如 Window Functions、CTE(Common Table Expressions)、Lateral Joins 等。

SQM 也提供了更好的性能,因为 Criteria API 直接解析为 SQL。

关于java - hibernate 6 : What is SQM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52519013/

相关文章:

java - Hibernate - 访问新数据字段时无法解决属性错误

java - 静态对象数组

java - 通过线程将变量从客户端发送到服务器

java - URLConnection、HttpURLConnection 和 HttpsURLConnection 的区别

java - Hibernate ManyToMany 只持久化

iOS PDF 解析 Type 1 字体指标

java - 无法识别变量更改

MySQL抛出不正确的字符串值错误

python - 在线读取 csv 时出现错误 Error tokenizing data

javascript - 查找多个对象数组之间的唯一值