Ответ 1
Вы просмотрели этот пост?
Кроме того, в этом случае вы все еще ищете список:
@Query("SELECT new map (a.someId, a) FROM Foo a WHERE a.someId = :id")
List<Foo> findAllBySomeIdAsMap(Long id);
Вы пытались изменить подпись?
Обычно мы пишем запрос как
@Query("SELECT a FROM Foo a WHERE a.someId = :id")
Map<Long, Foo> findAllBySomeId(Long id)
Есть ли способ получить HashMap вместо списка.
Я хочу ключ ключа Hashmap = someId и значение как Foo.
Я пробовал вот так
@Query("SELECT new map (a.someId, a) FROM Foo a WHERE a.someId = :id")
Map<Long, Foo> findAllBySomeIdAsMap(Long id);
но он возвратил два элемента, но a.someId как значение и ключ как 0;
0=someId
1=Foo
Вы просмотрели этот пост?
Кроме того, в этом случае вы все еще ищете список:
@Query("SELECT new map (a.someId, a) FROM Foo a WHERE a.someId = :id")
List<Foo> findAllBySomeIdAsMap(Long id);
Вы пытались изменить подпись?