Я пытаюсь присоединиться к таблице, которая может иметь несколько записей для данного идентификатора, и объединить строки, соответствующие этому идентификатору, в массиве. В SQL-запросе это выглядит следующим образом:
SELECT * from data
LEFT JOIN (select id, array_agg(row(foo, bar)) AS foo_bar_data from foo_bar_table group by id) AS temp using(id)
Это работает по назначению, но у меня возникают проблемы с чтением результата в JDBC.
ResultSet rs = st.executeQuery(...)
Array a = rs.getArray("foo_bar_data")
// Now I want to iterate over the array, reading the values foo and bar of each item.
Мои усилия до сих пор всегда заканчивались исключением Method org.postgresql.jdbc4.Jdbc4Array.getArrayImpl(long,int,Map) is not yet implemented.
. Как я могу перебрать a
, получая значения foo
и bar
?
Изменить: я должен также упомянуть, что foo
и bar
не имеют одного и того же типа.
SELECT
, что отражаетResultSet
). - person Mick Mnemonic   schedule 15.08.2015