JEP 170:JDBC 4.2
概述
对 JDBC 的小改进,以提高可用性和可移植性
动机
提高利用新数据类型的能力,并继续在 JDBC 应用程序开发人员和驱动程序供应商要求改进的领域进行改进。
描述
JDBC 4.2 的变更考虑包括:
- 为
ResultSet
、PreparedStatement
和CallableStatement
添加通用的 setter/update 方法,以支持新的数据类型,例如在 JSR 310 中定义的数据类型。 - 为
CallableStatement
定义REF_CURSOR
支持。 - 指定 Java EE 环境中所需的
DataSource
属性。 - 增强
DatabaseMetaData.getIndexInfo
,以为CARDINALITY
和PAGES
提供新列,这些列返回一个 long 类型的值。 - 添加一个新的
DatabaseMeta
方法,用于返回 LOB 的逻辑最大大小。 - 根据需要对规范进行额外的清理。
测试
变更将主要是对现有接口的补充。
JCK 需要为任何具体的方法/类添加测试,例如 PreparedStatement.setObject(int pos, Object val, SQLType type)
。
风险与假设
此更改的主要风险在于,任何影响方法类型推断的更改都有可能产生向后不兼容的问题。
依赖
JSR 310,新的日期和时间 API(JEP 150)。
影响
- 兼容性:最小 - 将在现有接口中添加额外的方法,但这仅影响 JDBC 驱动程序。现有的 JDBC 应用程序将继续无需修改地运行。
- 文档:对规范和 javadoc 规范的额外更新
- JCP:JSR 221 的维护版本发布,如同 JDBC 4.1 所做的那样,并设有 30 天的审查期