JPA和Hibernate - Criteria与JPQL或HQL [英] JPA and Hibernate - Criteria vs. JPQL or HQL

查看:100
本文介绍了JPA和Hibernate - Criteria与JPQL或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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆