select 案例 spring 数据 jpa 2.4.5

select case when spring data jpa 2.4.5

I am trying the below query in spring boot jpa : version=2.4.5

当我看到此查询的显示 SQL 时,它正在执行 select p.name 而不是 case selection

select CASE WHEN (p.name is null) THEN pi.name ELSE p.name END from Product p left join ProductInfo pi ON p.productInfoId=pi.id 

我认为您的 select 查询难以阅读。所以使用 coalesce 而不是 case when 关键字。

喜欢:

select coalesce(p.name, pi.name) as productName from Product p left join ProductInfo pi ON p.productInfoId=pi.id

已通过以下 jpa 查询修复

select (CASE WHEN (p.name is null OR p.name IS EMPTY) THEN pi.name ELSE p.name END) as name from Product p left join ProductInfo pi ON p.productInfoId=pi.id