2016-11-27 8 views
5

IFデータベースにはビジネスドメインの意味で衝突するレコードが含まれているかどうかを確認する次のメソッドを持つ@Repositoryインターフェイスがあります (私が衝突したレコードが何であるかを気にしない)持続:JPA @クエリー「ケースがある場合」はHibernateでは機能しません

@Query("select case when exists (
      select me from MyEntity me where {my conditions regarding someParam here} 
     ) then true else false end from MyEntity") 
boolean findColliding(@Param("someParam") String someParam); 

私はそれが空で実行されているテーブル(PostgreSQLの)のでが存在しサブクエリは何かを見つけるべきではないと私は、全体の信じていますメソッドはfalseを返します。の場合は、存在する場合のみtrueを返し、そうでない場合はfalseを返します。

それは私のクエリは、スタートアップ(なしQuerySyntaxException)にクエリ構文チェックに合格

nullを#facepalm返しますが、実行時に例外がスローされます:私は間違って何をやっている

org.springframework.aop.AopInvocationException: Null return value from advice does not match primitive return type for: public abstract boolean findColliding(...) 

?私は私の問題のために他のアプローチをとるべきですか?

休止5.0.11.Final

+0

これは休止状態の問題で、春のデータの問題ではないですか?私は正確にそのクエリを試していないが、私はすでにそのような何かを持っていることをかなり確信しています。 –

答えて

関連する問題