Менеджер сущностей Spring jpa getResultList, возвращающий данные из нескольких таблиц для встраивания в класс не модели - PullRequest
0 голосов
/ 11 марта 2020

я делаю весенний проект jpa. у меня есть запрос, который получает данные из 5 таблиц .

Я использовал менеджер сущностей.

Query query = entityManager.createNativeQuery(myQuery);
    query.setParameter("systemUserId", userid);
    query.setParameter("firstResult", firstResult);
    query.setParameter("lastResult", lastResult);

   query.getResultList();

теперь query.getResultList () возвращает список объектов. поэтому мне нужно написать маппер, чтобы соответствовать данным для немодельного класса.

есть ли способ, которым я могу напрямую подогнать результат запроса к немодельному классу?

1 Ответ

0 голосов
/ 11 марта 2020

Примерно так:

   List<Object[]> data = query.list();
    List<SomeDTO> list = new ArrayList<SomeDTO>();
    for (Object[] o : data) {
        SomeDTO r = new SomeDTO();

        String articleName = (String) o[0];
        r.setArticleName((kirmark.replace("_", " ") + " - " + articleName.replace("_", " ")));
        r.setArticleType((String) o[1]);
        r.setArticleZone((BigDecimal) o[2]);
        r.setArticleQuantity((BigDecimal) o[3]);
        r.setArticlePrice((BigDecimal) o[4]);
        list.add(r);
        }
        return list;
...