1

整数の検索クエリを作成しています。これはクラス Factuur の NamedQuery です。

@NamedQueries({
@NamedQuery(name = "getFactuurs", query = "SELECT f FROM Factuur f WHERE "
+ "f.periode LIKE :periode AND "
+ "f.carTracker.kenteken LIKE :carTrackerKenteken")

}))

したがって、「ピリオド」は Factuur クラスの Integer です。

    + "f.periode = :periode AND "

例外は発生しません。データベースから何も得られませんが、あるはずです...

4

1 に答える 1

0

JPA 仕様のセクション 4.6.9 は、LIKE 演算子は文字列型の式にのみ適用できると述べています。

条件式で比較演算子 [NOT] LIKE を使用する構文は次のとおりです。

      string_expression [NOT] LIKE pattern_value [ESCAPE escape_character]

string_expression には文字列値が必要です。

整数を文字列に変換する関数はないようです。範囲を照会している場合は、おそらくアプリケーションで下限値と上限値を計算し、BETWEEN 式で照会する必要があります。任意の LIKE 式でクエリを実行する必要がある場合、フィールドはおそらく文字列型である必要があります。

于 2011-04-18T11:36:54.763 に答える