1

タイプの列を含むPostgresテーブルがありますtext[][]。JDBCコードでは、文字列配列を使用しましたが、例外により、これら2つは一致しないことがわかりました。これらのタイプの間にマッピングがない場合、文字列配列のPostgresタイプを提案できますか?

これはコードです:

String list = "'{";
        for(int i=0; i<array.length; i++) {
            list+=prodotti[i]+",";
        }
        list+="}'";

        preparedStm.setString(4, list);
4

1 に答える 1

1

多次元PostgreSQL配列型を理解するには、マニュアルからの次の引用を検討してください。

現在の実装では、宣言された次元数も強制されません。特定の要素タイプの配列は、サイズや次元数に関係なく、すべて同じタイプであると見なされます。したがって、で配列のサイズまたは次元数を宣言すること CREATE TABLEは、単なるドキュメントです。実行時の動作には影響しません。

内部的には、タイプtext[]text[][]PostgreSQLと同じです。列に実際に2次元のテキスト配列が含まれている場合は、Javaの次元と一致させる必要があります。ただし、1次元または3次元の配列を含めることもできます。PostgreSQLはそれを許可します。

textまた、とcharacter varyingvarchar)はPostgreSQLでは異なるデータ型であることに注意してください(varchar長さ修飾子がない場合はほぼ同じです)。マニュアルの文字タイプについて読むことから始めます。

于 2012-05-24T21:25:57.347 に答える