2009-05-28 12 views

答えて

1

短い答えはノーです。 HQLは本質的に文字列なので、解析するためにはIDEが必要であり、何か間違っているかどうかを判断する必要があります。

0

コンパイル時にエラーが発生することはありません。コンパイル時にのみ文字列として扱われるためです。 「条件照会」とはどういう意味ですか?

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(); 
1

Hibernateは、どちらもHQLsもCritierasんのクエリビルドエラーになります問い合わせますコンパイル時にエラーが発生します。それにもかかわらず、NamedQueryアノテーションを使用して静的なHQLクエリを静的な方法で宣言することができます。これは、hibernateのセッションファクトリが最初の起動時にすべてのNamedQueryを読み込むため、アプリケーションの起動時にキャッシュと有効性のチェックを行います。

関連する問題