我需要帮助从具有或与其他字段一起调整的本机查询中创建JPQL查询。请知道JPA是否仍然不支持它。
原生查询示例:
select * from EMP where (EMP_FLAG is NULL or EMP_FLAG is 'Y') and EMP_ID in (1,2,3);
现在使用JPQL(Java持久查询语言)我使用源
编写了以下内置查询findByEmpIdInAndEmpFlagIsNotNull(List<Long> ids);
但如何将检查纳入EMP_FLAG =&#39; Y&#39;?
注意**我不打算使用@Query注释添加查询。 (知道的 该解决方案)
春季版:4.2, JAVA:1.7
答案 0 :(得分:3)
你可以这样做
@Query("select e from EMP e where (e.empFlag is null of e.empFlag ='Y')and in :ids")
findByEmpIdIn(@Param("ids") List<Long> ids);
答案 1 :(得分:1)
选择最适合您方法的名称,并使用
进行注释@Query("select e from Employee e where (e.empFlag is null of e.empFlag = 'Y') and e.empId in ?1")