31

インターフェイスを拡張すると、サブCrudRepositoryインターフェイスにexists(ID)メソッドがあります。メソッドを書くことができfindBy<property>ます。

existBy<property>を返すメソッドをどうにかして書くことは可能ですかboolean?または、で注釈を付けて、@Query(jpa query)が返されるようにしbooleanます。

select count(*)実行して戻ることができることはわかっていますが、サービスレイヤーをチェックインするlong必要があります。!=0

4

4 に答える 4

21

実際には、次のように case 式を使用できます。

select case when count(e) > 0 then true else false end from Entity e
where e.property = ?1 -- here go your conditions
于 2012-08-31T18:28:22.547 に答える
2

のソースをorg.springframework.data.jpa.repository.support.SimpleJpaRepository.exists(ID)見ると、 a を使用しTypedQueryてレコードをカウントし、次の値を返すことがわかります。

query.getSingleResult() == 1

メソッドに対して同様のことを行うクエリを作成できますexistsBy(...)

于 2012-08-29T17:35:16.637 に答える