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

JPA为什么使用createNamedQuery

海雪松
2023-03-14
问题内容

我正在将DAO层从使用Hibernate API更改为使用纯JPA
API实现的过程中。似乎推荐的方法是使用实​​体管理器中的createNamedQuery。命名查询存储在模型/实体类的注释中。这对我来说毫无意义。为什么要在模型对象中定义JPA查询,却在DAO中使用它们。仅在DAO本身中使用createQuery并在DAO中定义查询,甚至在DAO本身中定义命名查询,是否更有意义?

对于已经使用JPA API实现DAO层的人员,您如何定义查询?


问题答案:

我使用命名查询。

这样做有两个原因:

  1. 它将它们放置在更中心的位置,而不是通过随机的createQuery()调用分散在代码中;和
  2. 构建过程可以验证查询(非常有用)。


 类似资料:
  • JPA为什么OrderBy应用于Set? https://docs.oracle.com/javaee/7/api/javax/persistence/OrderBy.html 该集合应该是未排序的。使用 Set 类型对属性@OrderBy进行注释是否有意义?

  • Apache CouchDB是最新的数据库之一。 CouchDB具有无模式的文档模型,更适合常见应用。可支持非常大数据量查询。 使用CouchDB的主要原因是什么? CouchDB易于使用。 有一个单词可以描述CouchDB - “Relax”。 它也是组成CouchDB官方标志一个单词。 “Apache CouchDB已经开始了,现在是放松时间。” CouchDB具有基于HTTP的REST AP

  • DevOps允许敏捷开发团队实施持续集成和持续交付。这有助于他们更快地将产品推向市场。 其他一些的重要原因是: 可预测性:DevOps可以显着降低新版本的故障率 再现性:版本一切,以便可以随时恢复早期版本。 可维护性:在新版本崩溃或禁用当前系统的情况下,可以毫不费力地进行恢复。 交付/上市时间:DevOps通过简化的软件交付将上市时间缩短至50%。对于数字和移动应用尤其如此。 更高的质量:DevO

  • Akka平台提供哪些有竞争力的特性? Akka提供可扩展的实时事务处理。 Akka为以下目标提供了一致的运行时与编程模型: 垂直扩展(并发) 水平扩展(远程调用) 高容错 这个模型是唯一需要学习和掌握的,它具有高内聚和高一致的语义。 Akka是一种高度可扩展的软件,这不仅仅表现在性能方面,也表现在它所适用的应用的大小。Akka的核心——akka-actor是非常小的,可以方便地加入你的应用中,提供

  • 问题内容: 我经常在PHP中看到包含include.inc文件的示例。.inc是什么意思?它的作用是什么?使用它的缺点和优点是什么? 问题答案: 它没有任何意义,只是一个文件扩展名。如果扩展名是.inc的文件被设计为包含在其他PHP文件中,这是某些人的惯例,但这只是惯例。 它确实存在一个可能的缺点,即通常没有将服务器配置为将.inc文件解析为php,因此,如果该文件位于您的Web根目录中,并且您的

  • 问题内容: 在JPA中,有一个名为的属性,可以根据此设置的含义设置该属性,有人可以举例说明可以在何处使用该属性吗? 问题答案: 在那里可以将另一列指定为另一张表的默认 ID 列,例如,考虑以下内容