私はいくつかの回答を読んでいますが、まだ混乱しています。どうして?あなたが言及した違いはパフォーマンスとは関係がないからです。それらは使いやすさに関連しています。(オブジェクト(基準)とSQL(hql))。しかし、何らかの理由で「基準」がhqlより遅いかどうかを知りたいです。
これを別の回答で読みました
「HQL と criteriaQuery の間にはパフォーマンスの点で違いがあります。criteriaQuery を使用してクエリを起動するたびに、テーブル名の新しいエイリアスが作成されますが、これはどの DB に対しても最後にクエリされたキャッシュに反映されません。これにより、次のオーバーヘッドが発生します。生成された SQL をコンパイルしているため、実行に時間がかかります。」ヴァルン・メータ著。
これは非常に近いですが!別の Web サイト (http://gary-rowe.com/agilestack/tag/hibernate/) を読みました。これは、Hibernate 3.3 以降では当てはまりません (これを読んでください: 9)。基準インターフェースが一貫していません)
違いを見つけるためにいくつかのテストを行いましたが、どちらもqryを生成し、エイリアスをテーブルに変更しません。
私はとても混乱しています。誰かが主な理由を知っていれば、私たちを助けてください。ありがとう