[英]JPA @Query with 'case when exists' does not work with Hibernate
我有一個帶有以下方法的@Repository接口,用於檢查IF數據庫是否包含與我即將保留的記錄沖突(在業務域意義上)(我不關心碰撞記錄是什么):
@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。
它返回null #facepalm
我的查詢在啟動時傳遞查詢語法檢查(沒有QuerySyntaxException)但在執行時拋出異常:
org.springframework.aop.AopInvocationException: Null return value from advice does not match primitive return type for: public abstract boolean findColliding(...)
我究竟做錯了什么? 我應該采取其他方法解決我的問題嗎?
Hibernate 5.0.11.Final
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.