Как сделать Hibernate Spring Репозитарий для возврата HashMap

Обычно мы пишем запрос как

@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

Ответ 1

Вы просмотрели этот пост?

Кроме того, в этом случае вы все еще ищете список:

@Query("SELECT new map (a.someId, a) FROM Foo a WHERE a.someId = :id")
List<Foo> findAllBySomeIdAsMap(Long id);

Вы пытались изменить подпись?