• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アクセス用クラスを利用した登録画面の作成。)

アクセス用クラスを利用した登録画面の作成

このQ&Aのポイント
  • DB登録画面をアクセス専用のクラスを利用する形で作成中。
  • Junitテストを行うとエラーが発生している。
  • エラーメッセージは「列'id'は型integerですが、式は型character varyingでした」。

質問者が選んだベストアンサー

  • ベストアンサー
  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.1

テーブル定義が分からないのでなんとも言えませんが、 >org.postgresql.util.PSQLException: ERROR: 列"id"は型integerですが、式は型character varyingでした >Hint: 式を書き換えるかキャストしなければなりません のメッセージのままではないのでしょうか。 id列はinteger型なのに >db.setMultiType(1, "int id"); と文字列をセットしているのがいけないのではないでしょうか。 setMultiType()は別に引数の文字列内の型名で何かを判断しているわけではないですし。 それに?とバインドしている値の数が合ってないですけど、それは大丈夫なのでしょうか。

mew-ktrk
質問者

お礼

アドバイス有難う御座いました! >db.setMultiType(1, "int id"); >と文字列をセットしているのがいけないのではないでしょうか。 文字列でセットしていました・・・すっかり見落としていました。 セットしている部分をBeanでGetした値にセットし直したところ、 テストは上手く通るようになりました。 ?に関しては入力ミスです。 質問内容を推敲している途中で消してしまったようです。 申し訳ありません…。 初歩的な質問に回答して頂き、本当に有難うございました。 また、疑問等が出た場合には投稿させて頂きますのでその際には宜しくお願い致します。

関連するQ&A