Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server Hibernate命名查询与会话查询——寻找意见_Sql Server_Hibernate - Fatal编程技术网

Sql server Hibernate命名查询与会话查询——寻找意见

Sql server Hibernate命名查询与会话查询——寻找意见,sql-server,hibernate,Sql Server,Hibernate,注意:这个Q是为了比较Hibernate命名查询和普通会话查询。Hibernate标准在本Q的上下文中不受关注 据我所知,命名查询是在系统启动时解析一次的查询,可以在整个应用程序的任何地方使用。因此-w/命名查询,不会从零开始为该查询的每个调用方解析该查询,这是命名查询的主要优点 但是—— Hibernate为命名查询和普通查询操作缓存的方式有区别吗?如果是,这是什么 将普通Hibernate查询转换为命名查询有什么损失吗 我和一位同事进行了一次讨论。他认为,在我将普通查询转换为命名查询之前

注意:这个Q是为了比较Hibernate命名查询和普通会话查询。Hibernate标准在本Q的上下文中不受关注

据我所知,命名查询是在系统启动时解析一次的查询,可以在整个应用程序的任何地方使用。因此-w/命名查询,不会从零开始为该查询的每个调用方解析该查询,这是命名查询的主要优点

但是——

  • Hibernate为命名查询和普通查询操作缓存的方式有区别吗?如果是,这是什么

  • 将普通Hibernate查询转换为命名查询有什么损失吗

我和一位同事进行了一次讨论。他认为,在我将普通查询转换为命名查询之前,我应该设置一些指标并编写测试来证明命名查询的性能如何更好

我认为,仅仅为了衡量命名查询的性能如何/是否优于普通查询而生成度量标准和编写测试只不过是在浪费时间。这已经显示出来了——命名查询存在的原因只是解析查询。它在数据库中提取/更改的数据无关紧要。而且,许多开发人员正在使用Hibernate命名查询

我的问题是-

  • 我是否在命名查询中遗漏了与此讨论相关的内容

  • 对如何处理这种情况有何看法?我正在选择的选项是:“放弃做任何事情-让查询AS,II)只更改命名查询——如果不喜欢的话,我不会再浪费太多的时间。)如果我认为这是一个选项,那么做这些测试。p>

蒂亚

简短的回答-如果可以,请使用它。但是,如果您已经有了一些查询,这些查询可以在覆盖其功能的测试中正常工作,我不建议您去转换它们

另一篇关于这一点的文章可以在这里找到: