Я агрегировал количество строк, используя xmlagg в Oracle DB таким образом, что после агрегирования 445614935 DOB идентификатора также находится на первом месте в столбце Person_DOB и то же самое для других идентификаторов. Но когда я получаю эту строку в java с использованием JdbcTemplate, порядок значений обоих столбцов не поддерживается. Кажется, он сортируется. Я хочу получить данные в том же порядке в списке, в котором они отображаются в БД.
Запрос, используемый для агрегирования по person_id:
SELECT rtrim(xmlagg(Xmlelement(e,person_id,',').extract('//text()') order BY person_id).getclobval(),',') AS person_id,
environment,
rtrim(xmlagg(xmlelement(e,person_dob,',').extract('//text()') ORDER BY
person_id).getclobval(),',') AS person_dob
FROM ip_co_wr2_usr.person_details
WHERE status='RFS'
GROUP BY environment,
;
Ожидание после запуска этот запрос состоит в том, чтобы получить person_id и DOB будут разделены символом ",", поддерживающим их порядок отношений, что также происходит. P1, P2 -> Persion Id и dob_p1, dob_p2 -> DOB о людях
Но когда мы пытаемся отобразить эту строку в классе Person Pojo с использованием JdbcTemplate, атрибут person_id приходит как "P1, P2 "но атрибут dob приходит как" dob_p2, dob_p1 ". Это должно быть "dob_p1, dob_p2"
List<Person> triggersList = coJdbcTemplate.query(queryForTrigger,
new BeanPropertyRowMapper<Person>(
Person.class));