JPA和Hibernate - Criteria与JPQL或HQL [英] JPA and Hibernate - Criteria vs. JPQL or HQL
问题描述
使用有什么优点和缺点?标准或 HQL ? Criteria API是在Hibernate中表达查询的一种很好的面向对象的方式,但有时候Criteria Queries比HQL更难理解/构建。
您何时使用Criteria和何时使用HQL?你更喜欢哪些用例?或者它只是一个品味问题?
我主要更喜欢Criteria Queries查询动态查询。例如,动态添加某些排序或者根据某些参数留下一些部分(例如限制)更容易。另一方面,我使用HQL进行静态和复杂查询,因为它更容易理解/读取HQL。 另外,我认为HQL有点强大,例如针对不同的连接类型。
What are the pros and cons of using Criteria or HQL? The Criteria API is a nice object-oriented way to express queries in Hibernate, but sometimes Criteria Queries are more difficult to understand/build than HQL.
When do you use Criteria and when HQL? What do you prefer in which use cases? Or is it just a matter of taste?
I mostly prefer Criteria Queries for dynamic queries. For example it is much easier to add some ordering dynamically or leave some parts (e.g. restrictions) out depending on some parameter.
On the other hand I'm using HQL for static and complex queries, because it's much easier to understand/read HQL. Also, HQL is a bit more powerful, I think, e.g. for different join types.
这篇关于JPA和Hibernate - Criteria与JPQL或HQL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!