Как я могу преобразовать массив postgresql в массив Java в getJdbcTemplate (). запрос - PullRequest
0 голосов
/ 12 октября 2019

Я использую Spring для взаимодействия с postgresql. Вот моя проблема.

У человека есть три атрибута:

  1. имя (строка)
  2. хобби (строка [])
  3. пол (логическое значение))

Если я попытаюсь получить список людей из базы данных, используя метод ниже

List<Person> person=  getJdbcTemplate().query("select * from person where name=?",new BeanPropertyRowMapper<person>(Person.class),name);

Компилятор запросит

Failed to convert property value of type 'org.postgresql.jdbc.PgArray' to required type 'java.lang.String[]' for property 'hobbies';

Есть ли способсопоставить pgarray с массивом Java?

1 Ответ

1 голос
/ 12 октября 2019

Реализуя наш собственный RowMapper

public class PersonRowMapper implements RowMapper<Person> 

Теперь мы можем манипулировать результатом rs.getArray (), а затем возвращать person.

...