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