ネイティブクエリでSpring Data jpaを使用しています
私はすでにこのようなクエリをいくつか持っています
ネイティブ クエリ none パラメータの使用方法。
String q="SELECT t1.blockNumber-1 FROM someTAble t1 LEFT JOIN someTAble t2 ON t2.blockNumber = t1.blockNumber-1 WHERE t2.blockNumber IS NULL AND t1.blockNumber> 0 ORDER BY t1.blockNumber";
@Query(value = q,nativeQuery = true)
List<Entity> findByBlockNumberIs();
それらは発生するエラーです 列 'sequence' が見つかりません。
そのクエリの意味は、連続したデータのint値を挿入すると、欠落しているデータが見つかることです。
しかし、このクエリは機能しています
SELECT *,t1.blockNumber-1 FROM someTAble t1 LEFT JOIN someTAble t2 ON t2.blockNumber = t1.blockNumber-1 WHERE t2.blockNumber IS NULL AND t1.blockNumber> 0 ORDER BY t1.blockNumber
2 つのクエリの違いは、「*」があるかどうかです。
私のクエリに簡単に変更する方法。
エラーを変更する方法
OR spring data jpa述語の使い方
QEntity qBe1= QEntity .blockEntity;
QEntity qBe2= QEntity .blockEntity;
build.and(qBe2.blockNumber.eq(be.getBlockNumber()-1))
.and(qBe2.blockNumber.isNull().and(qBe1.blockNumber.gt(0)));
述語は左結合を使用できますか?