Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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/1/vue.js/6.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
Hibernate HQL或标准_Hibernate_Hql - Fatal编程技术网

Hibernate HQL或标准

Hibernate HQL或标准,hibernate,hql,Hibernate,Hql,我刚开始冬眠。我看到一些查询示例是用HQL编写的,一些是使用条件和投影编写的。我在谷歌上搜索了一下,发现关于何时使用HQL以及何时使用标准的信息很少。哪种方法更可取?为什么?如果查询要求where子句中的字段数量动态,而您事先不知道,请使用条件。如果您的查询始终具有相同的where子句,但您可能会替换值,请使用hql 您也可以在后一种情况下使用条件 要点是不要用一堆字符串连接动态构造hql where子句。我更喜欢hql而不是条件,并建议尽可能使用hql 使用hql,您可以创建命名查询,这些查询

我刚开始冬眠。我看到一些查询示例是用HQL编写的,一些是使用条件和投影编写的。我在谷歌上搜索了一下,发现关于何时使用HQL以及何时使用标准的信息很少。哪种方法更可取?为什么?

如果查询要求where子句中的字段数量动态,而您事先不知道,请使用条件。如果您的查询始终具有相同的where子句,但您可能会替换值,请使用hql

您也可以在后一种情况下使用条件


要点是不要用一堆字符串连接动态构造hql where子句。

我更喜欢hql而不是条件,并建议尽可能使用hql

使用hql,您可以创建命名查询,这些查询在启动时进行解析,如果出现错误,可以提前向您提供反馈。我相信,预解析还使它们在运行时更加高效


我也认为HQL比标准代码更可读。

我同意,但在需要动态构建实际查询的情况下除外。