createNamedNativeQuery 和 createNativeQuery 之间是否存在与性能相关的功能,因为我们计划对HQL查询使用命名查询,并为本机SQL查询维护单独的查询文件。 / p>
答案 0 :(得分:6)
命名本机查询:此查询的范围是持久性上下文&可以通过指定其标识符在应用程序中使用。之后无法更改查询,其静态。 它们仅在服务器启动时验证一次(JBoss特定)
原生查询:普通的本机SQL查询。可以在运行时构建动态查询&执行它。每次执行查询时都会验证它们。
在具有正常数据库操作的小型应用程序中,差异可能不明显,但在具有大量数据库调用的企业应用程序中,会产生影响。
命名本机查询的性能优于本机查询。