0

多くのパラメーターを使用してクエリを設定しようとしています。

1つのパラメータを持つクエリの場合、正常に機能します:

//**
    List<?> list = null;
    String query = String.format("from %s where %s = :%s ", a, uniqueField[0], uniqueField[0]);
    list = s.createQuery(query).setParameter(uniqueField[0], arg0.getSsn()).list();

このクエリで同じことを行うにはどうすればよいですか:

List<?> list = null;
String query = String.format("from %s where %s = :%s and %s = :%s ", a, uniqueField[0], uniqueField[0], uniqueField[1], uniqueField[1]);
// list = s.createQuery(query)... ?

アドバイスをありがとう..

4

1 に答える 1

0

クエリを使用する場合、名前付きパラメーターまたは位置パラメーターのいずれかを使用できます。名前付きパラメーターは非常に簡単ですが、パフォーマンスへの影響が何であるかはわかりません。

したがって、パラメータに名前を付けるだけです:「:param1」、「:param2」。次に、q.setParameter(":param1", value1).setParam(":param2", value2)。

参考: JPAでは、「位置/名前付き」を使用するのに適したタイプのパラメーターはどれですか?

于 2016-05-11T21:27:20.210 に答える