質問: conn.prepareStatement("INSERT INTO testteble (item1,item2,item3) values (?, ?, ?) "); stmt.setString(1, dto.getItem1()); stmt.setBytes(2, dto.getItem2()); stmt.setString(3, dto.getItem3()); ``` 上記のような形でbyte[]の情報(item2)をステートメントにsetBytes()して値を入れています。 しかし、実行すると。 「列"セッション情報"は型byteaですが、式は型integerでした」 というエラーが発生します。 bytea型の項目はbyte[]の変数であればsetBytesを使用出来ると思っていますが間違いでしょうか。 (参考:https://www.postgresql.jp/document/7.4/html/jdbc-binary-data.html)
回答: 型をbyteaからoidに変更すれば問題なく処理されました。 なんか腑に落ちませんが。。。