@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.