Hibernate命名查询和启动性能

Hibernate命名查询和启动性能,hibernate,jpa,named-query,Hibernate,Jpa,Named Query,我们正在使用JPA/Hibernate启动一个新的projet。团队中有人拒绝使用命名查询,说他以前遇到过性能问题。根据他的说法,命名查询不仅在启动时被解析,而且还会被执行,这将大大降低启动速度 是否正确?如果正确,是否有任何配置可防止hibernate执行查询?但它们运行得更快。。那么,您希望的是启动速度较慢还是查询性能更快 通过验证,您还可以获得很好的好处,因此可以及早发现错误 但这当然是理论。和往常一样,在性能方面,您应该在自己的系统上进行测试和验证 这是一本关于这个主题的好书: 根据他

我们正在使用JPA/Hibernate启动一个新的projet。团队中有人拒绝使用命名查询,说他以前遇到过性能问题。根据他的说法,命名查询不仅在启动时被解析,而且还会被执行,这将大大降低启动速度


是否正确?如果正确,是否有任何配置可防止hibernate执行查询?

但它们运行得更快。。那么,您希望的是启动速度较慢还是查询性能更快

通过验证,您还可以获得很好的好处,因此可以及早发现错误

但这当然是理论。和往常一样,在性能方面,您应该在自己的系统上进行测试和验证

这是一本关于这个主题的好书:

根据他的说法,命名查询不仅在启动时被解析,而且还会被执行,这将大大降低启动速度

不,这不是真的。命名查询不会在启动时执行。它们在启动时被解析编译,但不会对数据库执行

是否正确?如果正确,是否有任何配置可防止休眠 从执行查询开始

如果您询问如何防止编译此类查询,那么AFAIK没有办法禁用它

虽然我同意大量的命名查询会减慢应用程序的启动速度,但这通常不是一个重要因素

您必须在启动和运行时性能之间进行选择。就我个人而言,我通常将一些JPA查询作为命名查询(运行时性能至关重要的查询)