【发布时间】:2019-03-15 11:29:02
【问题描述】:
我在内存 HSQLDB 数据库中有一个表用于集成测试,其中包含一个 ARRAY 列 (categories VARCHAR(256) ARRAY NOT NULL),请注意它被定义为 VARCHAR 数组。
有没有办法调整 HSQLDB 将列映射到 Java 类型的方式?我一辈子都找不到它。
读取数组列时(使用 org.hsqldb.jdbc.JDBCDriver),resultSet.getArray(columnName).getArray() 返回 Object[],而不是 String[]。
这会导致转换异常,因为调用代码(我没有控制)需要 String[]。 resultSet.getArray(columnName) 返回 org.hsqldb.jdbc.JDBCArray,理想情况下我希望它返回 PostgreSQLTextArray,这样我就可以得到一个 String[](这是 prod 中使用的)。
- HSQLDB:“org.hsqldb:hsqldb:2.4.0”
- Java:1.8.131
【问题讨论】:
-
你能检查 .getArray() 返回的实际类型吗?使用
getArray()[0].getClass().getName()。