0

ネイティブクエリで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)));

述語は左結合を使用できますか?

4

1 に答える 1