java - 命名查询的优点和缺点

标签 java hibernate named-query

与实体相比,将查询作为 NamedQueries 有什么显着优势吗?如果没有,我们可以在 DAO 本身中拥有它。请在这方面提出一些想法。

最佳答案

当应用程序需要重复执行同一查询时,命名查询可提供显着的性能优势。 这个的关键概念是每个查询,无论您使用什么语法将它们写入您的业务层(例如 hibernate 语法),都将(必须结束)作为 native 查询(即您的数据库理解的语法) ) 以便执行。这种转换称为编译,被认为是一个耗时的过程。 因此,性能优势来自这样一个事实,即命名查询被 hibernate 编译为它们的 native 语法一次并在之后执行,而动态创建的查询必须在执行之前每次都被编译为它们的 native 语法。

关于java - 命名查询的优点和缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6568296/

相关文章:

java - repaint() 方法不适用于色调图像

java - 不论模式如何,在 map 中读取avro文件记录都会减少

java - Java spring hibernate MVC 框架中jackson 库响应非常慢

java - 在 JPA 中加入命名查询

sorting - 使用命名查询时,可分页排序不适用于 Spring Data JPA

java - JSF 2.0 将动态表单保存到数据库

java - 如何给你的程序添加声音?

hibernate - 将 Hibernate 与 Presto 结合使用

java - JPA脚本生成重复语句