oracle.sql.ARRAY和oracle.sql.ArrayDescriptor的通用实现

时间:2012-09-19 21:08:06

标签: java sql oracle

我试图从持久层中抽象出一些实现细节。目前我有两个函数,一个创建ARRAY,另一个创建ArrayDescriptor。我目前正在使用HSQL编写测试并继续遇到一个问题,我在从ClassCastException转换为JDBCConnection时获得OracleConnection。这是由以下原因引起的:createDescriptor。有没有办法删除Oracle细节并以通用方式使用ARRAY和ArrayDescriptor的概念?我目前不在我的源代码附近,所以我会从内存中回忆起来。

1 个答案:

答案 0 :(得分:2)

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

Connection.createArrayOf()

从内存中,Oracle特定的API为您提供了更多的选择和灵活性,但如果您想使用除Oracle之外的其他东西作为您的数据库,那么使用JDBC API是唯一的选择。


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