Java 命名查询的利弊

Java 命名查询的利弊,java,hibernate,named-query,Java,Hibernate,Named Query,与实体相比,将查询命名为namedquerys有什么显著的优势吗?如果不是,我们可以把它放在刀上。请在这方面提出一些想法。当应用程序需要重复执行同一查询时,命名查询提供了显著的性能优势。 关键的概念是,无论您在业务层中使用何种语法(例如hibernate语法)来编写查询,每个查询最终(必须最终)都将作为本机查询(即数据库理解的语法)来执行。这种转换称为编译,被认为是一个耗时的过程。 因此,性能优势来自这样一个事实:hibernate将命名查询编译为其本机语法一次,然后再执行,而Dynamicly

与实体相比,将查询命名为namedquerys有什么显著的优势吗?如果不是,我们可以把它放在刀上。请在这方面提出一些想法。

当应用程序需要重复执行同一查询时,命名查询提供了显著的性能优势。 关键的概念是,无论您在业务层中使用何种语法(例如hibernate语法)来编写查询,每个查询最终(必须最终)都将作为本机查询(即数据库理解的语法)来执行。这种转换称为编译,被认为是一个耗时的过程。 因此,性能优势来自这样一个事实:hibernate将命名查询编译为其本机语法一次,然后再执行,而Dynamicly创建的查询在每次执行之前都必须编译为其本机语法