第4章 Hibernate Query 言語

4.1. Hibernate Query 言語について

Java Persistence クエリー言語の概要

Java Persistence Query Language (JPQL) は、Java Persistence API 仕様の一部として定義されるプラットフォームに依存しないオブジェクト指向のクエリー言語です。Java Persistence クエリー言語と同等の Jakarta Persistence クエリー言語は Jakarta Persistence クエリー言語であり、Jakarta Persistence 仕様 の一部として定義されています。

Java Persistence クエリー言語は、リレーショナルデータベースに保存されているエンティティーに対してクエリーを行うために使用されます。これは SQL に大きく影響を受けています。また、そのクエリーは構文の SQL クエリーに類似しますが、データベーステーブルと直接連携するのではなく Java Persistence API エンティティーオブジェクトに対して動作します。

HQL の概要

Hibernate Query Language (HQL) は、SQL と同様のパワフルなクエリー言語です。ただし、SQL と比較すると、HQL は完全にオブジェクト指向で、継承、ポリモーフィズム、関連付けなどの概念を認識します。

Hql は、Java Persistence クエリー言語のスーパーセットです。HQL クエリーは常に有効な Java Persistence クエリー言語クエリーではありませんが、Java Persistence クエリー言語のクエリーは常に有効な HQL クエリーになります。

HQL および Java Persistence クエリー言語は、クエリー操作を実行するためのタイプセーフでない方法です。条件クエリーは、クエリーにタイプセーフなアプローチを提供します。