Spring JPA -> Сопоставить ResultSet с несуществующим объектом - PullRequest
0 голосов
/ 03 февраля 2020

Мне нужно сопоставить возврат собственного запроса к объекту

  • Вот мой собственный запрос
@Query(value = "select collector from relation;", nativeQuery = true)
     Stream<RelationStatistics> findRelationsStatistics();
  • Вот мой объект
 public class RelationStatistics {
     private String collector;
     public RelationStatistics(String collector) {
         this.collector = collector;
     }
     public String getCollector() {
         return collector;
     }
     public void setCollector(String collector) {
         this.collector = collector;
     }
 }
  • Вот мой тест
    @Test
    public void test() {
        Stream<RelationStatistics> test = relations.findRelationsStatistics();
        test.forEach(item -> System.out.println(item));
    }

Этот тест возвращает меня:

    org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap] to type [RelationStatistics]

Это пример только с одна строка атрибута, но исходный собственный запрос - большой запрос, поэтому создание сущности будет слишком сложным.

Я нашел SqlResultSetMapping, но я не совсем понимаю, как его правильно использовать

Если кто-то имеет представление о том, что можно сделать 0_o

1 Ответ

0 голосов
/ 04 февраля 2020

Я нашел решение здесь: JPA: Как преобразовать собственный набор результатов запроса в коллекцию классов POJO

Использование проекции с интерфейсом в качестве объекта с методом getCollector () и картой с этим

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...