1

我试图从我的持久层中抽象出一些实现细节。就目前而言,我有两个函数,一个创建一个ARRAY,一个创建一个ArrayDescriptor. 我目前正在使用 HSQL 编写测试,并一直遇到一个问题,在ClassCastException从. 这是由以下原因引起的: createDescriptor。有没有办法删除 Oracle 细节并以通用方式使用 ARRAY 和 ArrayDescriptor 的概念?我目前不在我的源代码附近,所以我会从记忆中回忆。JDBCConnectionOracleConnection

4

1 回答 1

2

如果您使用的是 JDBC 4 / Java 6 或更高版本,您可以尝试使用 JDBC 数组创建方法,

Connection.createArrayOf()

从内存来看,Oracle 特定的 API 为您提供了更多的选择和灵活性,但如果您想使用 Oracle 以外的其他东西作为数据库,则使用 JDBC API 确实是唯一的选择。


编辑:根据此文档,Oracle JDBC 驱动程序不支持 createArrayOf()。因此,您可能做的最好的事情就是instanceof检查您的代码,如果检测到 OracleConnection,则使用 Oracle 特定的 API,否则使用 Connection.createArrayOf()。

于 2012-09-19T22:52:49.337 回答