Аннотация Jpa-запроса для возврата результатов в виде пар ключ-значение

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

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

Вопрос:

У меня есть таблица пользователей, и я пытаюсь использовать аннотированные запросы в spring boot для получения набора результатов. Я могу получить набор результатов в виде списка, но в нем нет имен полей. Как мне получить результирующий набор с именем поля в виде пар ключ и значение? Текущий ответ [[1, «Jay»]] , что я хочу сделать, это {«id»:1,»Name»:»Jay»}

——Вот мой класс репозитория——

  @Repository
 public interface UsersauthRepository2 extends JpaRepository<Users2,Long> {
 @Query("select id,name,email from Users u where LOWER(email) = LOWER(:email) and LOWER(u.password) = LOWER(:password)")
 List<Users2> querybyemail(@Param("email") String email,@Param("password") String password);
  }
  

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

1. Там нет «NamedQuery». Это JPQL, и это Spring Data JPA API, а не JPA API

2. Отредактировано, спасибо @NeilStockton

3. Я преобразовал результирующий набор в массив строк, с которым было проще работать.

Ответ №1:

Запрос не возвращает имена полей. Если вам нужно их получить :

  1. Они уже есть у вас в качестве аргумента метода
  2. Вам нужно использовать отражение.

Удачи

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

1. Попробую это, спасибо.