请问hql会给你编译时错误吗?

时间:2009-05-28 15:46:57

标签: nhibernate

hql会给你编译时错误,比如条件查询吗?

我记得听说其中一种方法没有(除了原始SQL)。

4 个答案:

答案 0 :(得分:1)

简短的回答是否定的。由于HQL本质上是一个字符串,因此您需要一个IDE来解析它并弄清楚您是否做错了。

答案 1 :(得分:1)

Hibernate中没有查询构建,HQL和Critieras都不会产生编译时错误。不过,您可以使用NamedQuery批注以静态方式声明静态HQL查询。这将在启动应用程序时提供缓存和有效性检查,因为hibernate的会话工厂将在首次启动时读取所有NamedQueries。

答案 2 :(得分:0)

答案 3 :(得分:0)

标准查询可能给你编译时错误,这样的错误

ICriteria crit = sess.CreateCriteria(typeof(Cat));
crit.SetMaxResults("50"); /* wrong parameter type */
List cats = crit.List();

这样的事情不会

IList cats = sess.CreateCriteria(typeof(Cat))
.Add( Expression.Like("Naem", "Fritz%") ) /* misspelled property */
.Add( Expression.Between("Weight", minWeight, maxWeight) )
.List();