JavaスポンサーリンクMyBatisには、org.apache.ibatis.type.ArrayTypeHandlerがあって、java.sql.Arrayとのマッピングを行ってくれますが、パラメータ設定時と、結果取得時でマッピングが異なるので注意が必要です。実際のコードを見たほうがわかりやすいので、現時点のコードを引用します。パラメータとして求めますが、結果取得時(getNullableResultメソッド)だと、java.sql.ArrayからgetArrayしたもの(たとえばPostgreSQLのintの配列(int[])だと、Javaのint[])が返却されます。そのため、同じEntityを使ってInsertとSelectを行うということができません。java.sql.Arrayを生成する際に、配列のタイプを文字列で指定する必要があり、汎用的なTypeHandlerを作るのが難しいのでこのようになってしまっているのではと思いますが、そのあたりの理由を知っていないと、嵌りそうですね。同じEntityを使いたい場合には、ArrayTypeHandlerを使わずに、そのARRAYの型に応じたTypeHandlerを独自に作ることになりそうです。TypeHandler自体はとてもシンプルなので、実装も簡単です。参考までに、List<Integer>と、PostgreSQLのint[]をマッピングするTypeHandlerの実装を以前作ったので、リンクしておきます。下記Issueで既に対応していただいています。(19)はてなブログをはじめよう!onozatyさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。