Thadeuアントニオ・フェレイラ・メロ:
私は、ID、ボリュームとのobject_id列を持つテーブル「信号」を持っています。
OBJECT_IDは外部キーです。私は、特定のobject_idを持つ各信号を取得する必要があります。
このクエリを使用しようとイム
public interface SignalRepository extends JpaRepository<Signal, Integer> {
@Query("select s from Signal s where s.object = ?1")
Optional<List<Signal>> findSignalByObjectId(Integer objectId);
}
それは仕事をdoens't。私が変更した場合"?1"
に1
、それハードコードされた値を取得します。私は「ボリューム」を照会しようとすると、それが正常に動作します。
私はこのエラーを取得します:
BLOCKQUOTEネストされた例外は、java.lang.IllegalArgumentExceptionがあります。パラメータ値[1]は期待されるタイプと一致しませんでした
Gaurav Agarwalさん:
あなたは、このような基本的なクエリを生成するために、春のデータを使用することができます。
public interface SignalRepository extends JpaRepository<Signal, Integer> {
List<Signal> findSignalByObjectId(Integer objectId);
}
または、あなたは、この戻り値の型とパラメータを使用してクエリを記述することができます。
public interface SignalRepository extends JpaRepository<Signal, Integer> {
@Query("select s from Signal s where s.object = :id")
List<Signal> findSignalByObjectId(@Param("id") Integer objectId);
}