当前位置: 首页 > 面试题库 >

使用什么:JPQL或Criteria API?

苍志文
2023-03-14
问题内容

我的Java应用程序使用JPA进行对象持久化。业务域非常简单(只有三个类是持久性的,每个类具有3-5个属性)。查询也很简单。问题是我应该使用哪种方法:JPQL或CriteriaAPI?


问题答案:

我很确定这已经在本文中讨论过了,但是我找不到现有的问题。所以,这是我对这个问题的看法:

  • 我发现JPQL查询更易于编写/阅读。
  • 我发现Criteria API非常适合构建动态查询。

基本上可以在Hibernate中找到:Criteria vs.HQL。

但是值得一提的是,JPA 2.0 Criteria API和Hibernate的Criteria API之间有一个主要区别:JPA 2.0 Criteria
API是一种 类型安全的API ,因此可以提供编译时间检查,代码完成,更好的重构支持等。但是, 没有发现好处超过了JPQL的易用性。

综上所述,除动态查询(例如,用于多条件搜索功能)外,我希望使用JPQL。

相关问题

  • 休眠:条件与HQL
  • 在现实世界中,哪些示例更适合使用JPA2 Criteria API?

更多资源

  • 休眠查询102:条件API


 类似资料:
  • 问题内容: 在JPQL中,我可以通过以下方式检索实体: 但是,如果我想检索Category实体的id和name字段(仅),则需要像对象这样的东西,通过它我可以说:和。如何在不检索整个实体的情况下做到这一点? 基本上,对于如何检索像查询的信息:? 问题答案: 在HQL中,可以使用list()函数获取包含结果行的Object []数组的列表: 返回数组中的第一个元素将是id,第二个-名称。 如果要使用

  • 问题内容: 使用弱引用是我从未见过的实现方式,因此,我试图弄清楚它们的用例是什么以及实现将如何工作。你何时需要使用WeakHashMap或WeakReference以及如何使用它? 问题答案: 强引用的一个问题是缓存,尤其是对于非常大的结构(如图像)而言。假设你有一个必须处理用户提供的图像的应用程序,例如我正在使用的网站设计工具。自然地,你想缓存这些图像,因为从磁盘加载它们非常昂贵,并且你希望避免

  • 我试图实现连接,但我面临错误。我有产品表和商店表。产品表引用通过外键存储表,如下所示: 产品JAVA 现在,我展示tore.java 现在,我展示仓库 现在,这个错误是因为我在最后两个查询中实现了join。我想做的是购买所有商店位于特定城市或州的产品,如上图所示。 我遇到的错误是: 启动应用程序上下文时出错。要显示自动配置报告,请在启用调试的情况下重新运行应用程序。2016-10-16 09:53

  • 问题内容: 我将启动一个Java项目来开发桌面应用程序。什么用作表示层模式(MVC,MVP,MVVM或…)? …如果可能的话,给出一些可行的小例子… :-) 问题答案: 其实,你在寻找最终的帖子是 这样回答 这个答案 从卡斯滕Lentzsch共同领导(JGoodies数据的名望)在 秋千框架和最佳实践 旋启式框架和最佳实践 主题。 你好, 多年来,我一直在编写Swing应用程序,很多人都觉得它很优

  • 我们将收到处理该物品属于以下任何组的请求- Grp1- 我们收到3个A1、B1、C1请求。由于所有请求都属于同一组,因此应按顺序处理这些请求(在提取下一个请求进行处理之前,应先完成当前请求) 我们收到了4个A1、A2、B2、B3请求,其中A2和B2请求属于同一组,因此应按场景1中所述顺序处理,A1和B3请求应并行处理,因为它们属于不同的组 因此,基本上应该并行处理来自不同组的请求。来自同一组的请求

  • 我怎样才能缩短这个,而不是用一打或的