パッケージ jakarta.persistence

アノテーション型 NamedQuery


  • @RepeatableSE(NamedQueries.class)
    @TargetSE(TYPESE)
    @RetentionSE(RUNTIMESE)
    public @interface NamedQuery
    Jakarta Persistence クエリ言語で静的な名前付きクエリを指定します。クエリ名のスコープは永続性ユニットです。NamedQuery アノテーションは、エンティティまたはマップされたスーパークラスに適用できます。

    以下は、Jakarta Persistence クエリ言語での名前付きクエリの定義の例です。

        @NamedQuery(
                name="findAllCustomersWithName",
                query="SELECT c FROM Customer c WHERE c.name LIKE :custName"
        )
     

    以下は、名前付きクエリの使用例です。

        @PersistenceContext
        public EntityManager em;
        ...
        customers = em.createNamedQuery("findAllCustomersWithName")
                .setParameter("custName", "Smith")
                .getResultList();
     
    導入:
    1.0
    • 必須定数のサマリー

      必須要素  
      修飾子と型 必須要素 説明
      StringSEname
      (必須)クエリオブジェクトを作成する EntityManager メソッドでクエリを参照するために使用される名前。
      StringSEquery
      (必須)Jakarta Persistence クエリ言語のクエリ文字列。
    • オプション要素のサマリー

      オプション要素  
      修飾子と型 オプションの要素 説明
      QueryHint[]hints
      (オプション)プロパティとヒントを照会します。
      LockModeTypelockMode
      (オプション)クエリ実行で使用するロックモード型。
    • 要素の詳細

      • name

        StringSE name
        (必須)クエリオブジェクトを作成する EntityManager メソッドでクエリを参照するために使用される名前。
      • query

        StringSE query
        (必須)Jakarta Persistence クエリ言語のクエリ文字列。
      • lockMode

        LockModeType lockMode
        (オプション)クエリ実行で使用するロックモード型。LockModeType.NONE 以外の lockMode が指定されている場合は、クエリをトランザクションで実行し、永続コンテキストをトランザクションに結合する必要があります。
        導入:
        2.0
        デフォルト:
        jakarta.persistence.LockModeType.NONE
      • hints

        QueryHint[] hints
        (オプション)プロパティとヒントを照会します。ベンダー固有のクエリヒントが含まれる場合があります。
        デフォルト:
        {}