Java™ パーシスタンス照会言語 (JPQL) は、 パーシスタント・エンティティーの保管の仕組みから独立して、パーシスタント・エンティティーを対象とした検索を定義する ために使用されます。
JPQL は移植可能なので、特定のデータ・ストアに制約されません。
JPQL は Enterprise JavaBeans 照会言語 (EJB QL) の拡張機能であり、 SQL の構文と単純な照会セマンティクスをオブジェクト指向の式言語の表現力と結合するように設計されています。
照会インスタンスは、EntityManager インターフェースが公開するメソッドを使用して作成されます。
JPQL は、2 つのタイプの照会を定義します。1 つは、進行中に作成される動的照会で、もう 1 つは名前付き照会です。
名前付き照会は、 同一の照会が何度も開始されるようなコンテキストで使用されることを意図しています。主な利点としては、 コードの再利用性が向上すること、保守に費やす努力が少なくてすむこと、 そして一度評価されていることによりパフォーマンスが向上する可能性があることが挙げられます。
名前付き照会は @NamedQuery 注釈を使用して定義されます。名前付き照会を一意的に識別するために名前属性を使用し、照会を定義するために照会属性を使用します。