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?
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?
Eu não achei simples não.
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!