Ts_vector em java

1 resposta
postgresqljava
zicky23

Tenho um problema, que parece simples de resolver mas não sei como.

Preciso cadastrar um dado em um banco PostgresSQL cujo campo é do tipo ts_vector. O dado é uma string.

Como faço essa inserção java / postgresql sem mexer no db?

1 Resposta

A

Eu não achei simples não. :joy:

String sql = "Insert into teste(texto) values((select ?)::tsvector)";
        seuPreparedStatement = con.prepareStatement(sql);
        seuPreparedStatement.setString(1, "enviando teste pro banco de dados");
        seuPreparedStatement.execute();

Se o campo for do tipo tsvector[] (variação do anterior), você pode usar:

`seuPreparedStatement.setArray(numero, con.createArrayOf("tsvector", new String[]{"Palavra1 a mais"}));`

Se analisar de forma superficial, poderia reavaliar a necessidade de salvar o tsvector no banco de dados, pois a função to_tsvector(dado) talvez atenda de forma satisfatória a sua necessidade, mas como eu disse é apenas uma avaliação superficial.

Boa sorte!

Criado 8 de agosto de 2017
Ultima resposta 9 de ago. de 2017
Respostas 1
Participantes 2