我正在写一个可能支持多种JDBC类型的UserType
。支持的类型取决于应用程序使用的JDBC驱动程序的版本。如果驱动程序版本是< = JDBC 4.1,则使用自定义供应商类型。如果驱动程序版本是> = JDBC 4.2,则使用标准类型。
我的代码目前看起来像这样:
public int[] sqlTypes() {
return new int []{Types.FOO, VendorTypes.FOO};
}
这不起作用,因为Hibernate需要两列。如果可能的话,我希望避免为每个驱动程序版本编写UserType。有更好的方法吗?