@RepeatableSE(valueSE=NamedQueries.class) @TargetSE(valueSE=TYPESE) @RetentionSE(valueSE=RUNTIMESE) public @interface NamedQuery
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();
修飾子と型 | 必須要素と説明 |
---|---|
StringSE | name (必須)クエリオブジェクトを作成する EntityManager メソッドでクエリを参照するために使用される名前。 |
StringSE | query (必須)Jakarta Persistence クエリ言語のクエリ文字列。 |
修飾子と型 | オプションの要素と説明 |
---|---|
QueryHint[] | hints (オプション)プロパティとヒントを照会します。 |
LockModeType | lockMode (オプション)クエリ実行で使用するロックモード型。 |
public abstract StringSE name
EntityManager
メソッドでクエリを参照するために使用される名前。public abstract StringSE query
public abstract LockModeType lockMode
LockModeType.NONE
以外の lockMode
が指定されている場合は、クエリをトランザクションで実行し、永続コンテキストをトランザクションに結合する必要があります。public abstract QueryHint[] hints
Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.