0

一般的な NamedQuery を記述する必要があります。など、属性のいずれかが指定されたパラメーターと一致するすべてのオブジェクトを検索します。

mo.ANYAttribute = someParameterの場合、MyObject moからmoを選択します

「where mo.ANYAttribute」の表現がわかりませんでした。" + または * または ANY または .) などのワイルドカードの種類...次のような各属性を確認するために手動で記述しなければならないクエリを作成する必要がなくなります。

ここで、mo.attribute1= :someParameteror または mo.attribute2 = :someParameter

JPA2.0を使用しています。

この方法で可能ですか、それともアプローチを変更する必要がありますか?

どうもありがとう、ナビ

4

2 に答える 2

0

エンティティのすべての属性をリストする必要があります。JPAにはANYAttributeのようなものはありません。

  where mo.attr1=:someParamter or mo.attr2=:someParameter etc.
于 2012-04-05T14:36:58.033 に答える
0

パラメータを使用した@NamedQueryの使用例を次に示します。

エンティティに次の注釈を付けます。

@NamedQuery(name = "findEntityById",
query = "SELECT entity FROM Entity entity WHERE entity.id = :inputId")

エンティティ マネージャの使用法:

Query namedQuery = entityManager.createNamedQuery("findEntityById");
namedQuery.setParameter("inputId", 1);

NamedQueries に関する非常に優れたチュートリアルです。

于 2012-04-05T14:43:27.673 に答える