Как использовать PostgreSQL Array с JDBC? - PullRequest
0 голосов
/ 19 октября 2018

Я пытаюсь использовать PostgreSQL Array varchars с Hibernate Converter.Мой метод конвертации

@Override
public Array convertToDatabaseColumn(List<String> attribute) {
    if (attribute == null) return null;
    try {
        DataSource dataSource = StaticContextHolder.getBean(DataSource.class);
        Connection conn = dataSource.getConnection();
        Array varchar = conn.createArrayOf("varchar", attribute.toArray());
        return varchar;
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return null;
}

Это прекрасно работает, но при сохранении давка за исключением.Ниже выводится лог.

Hibernate: 
    insert 
    into
        level
        (codes, markdown, name, 
    order, id) 
values
    (?, ?, ?, ?, ?)

2018-10-19 00:06:58.967 TRACE 9868 --- [nio-8080-exec-3] o.h.type.descriptor.sql.BasicBinder      : binding parameter [1] as [UNKNOWN(979166392)] - [{"foo","bar","buzz"}]
2018-10-19 00:06:58.967  WARN 9868 --- [nio-8080-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: 07006
2018-10-19 00:06:58.971 ERROR 9868 --- [nio-8080-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper   : Unsupported Types value: 979,166,392

или то же самое с другим массивом

Hibernate: 
    insert 
    into
        level
        (codes, markdown, name, 
    order, id) 
values
    (?, ?, ?, ?, ?)

2018-10-19 00:13:15.174 TRACE 9868 --- [nio-8080-exec-8] o.h.type.descriptor.sql.BasicBinder      : binding parameter [1] as [UNKNOWN(979166392)] - [{"123","321"}]
2018-10-19 00:13:15.175  WARN 9868 --- [nio-8080-exec-8] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 0, SQLState: 07006
2018-10-19 00:13:15.175 ERROR 9868 --- [nio-8080-exec-8] o.h.engine.jdbc.spi.SqlExceptionHelper   : Unsupported Types value: 979,166,392
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...