выберите случай, когда весенние данные jpa 2.4.5

#spring-boot #jpa #spring-data-jpa

Вопрос:

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

когда я вижу show SQL для этого запроса, он выполняет выбор p.name вместо выбора варианта

 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 
 

Ответ №1:

Я думаю, что ваш запрос select трудно прочитать. Поэтому используйте объединение вместо ключевого слова case when.

Нравится:

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

Комментарии:

1. Я также хотел проверить, пусто ли. найденный результат

Ответ №2:

исправлено с помощью приведенного ниже запроса 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