将遗留的 BC4J 应用从 Oracle 数据库迁移到 DB2 数据库
2010-02-04 00:00:00 来源:WEB开发网Entity Object 层
View Object 层
UI 端调用代码
下面对各层中所需要涉及的迁移点做进一步分析。
Entity Object 层
Entity Object 为数据库中的对象到 Java 对象的映射,由于 Oracle 数据库和 DB2 数据库的数据类型的差异,就需要将 Entity Object 中从数据库映射过来的 Oracle 的特定数据类型转换成 Java 自带的类型。数据类型的迁移工作是 BC4J 中各层都需要做的工作,其需要耐心和细心,借助 Oracle 的 JDeveloper 可以很快实现该层的转换工作。
在 Entity Object 层,迁移工作可以分为两点:
数据类型的转换 :
将使用到的 Oracle 特定的数据类型,如 Date 和 Number 等转换成 Java 中自带的数据类型。
对于 Date 类型,通常可以转换为 java.sql.Timestamp。
对于 Number 类型,则需要根据它的长度来确定对应的转换类型。
Number(p) 和 Number(p,0): 如果 p>=10,通常转换为 BigDecimal,否则转换为 Integer。
Number(p,s)(s !=0):转换为 BigDecimal。
修改 Entity Object 中的业务逻辑代码:
Entity Object 中的代码虽然绝大部分都是由 JDeveloper 自动生成,但当中也可以写一些业务逻辑代码。在转换过程中,就需要注意这些业务逻辑代码中有没有用到 Oracle 的特定数据类型,如果代码中有用到 Oracle 的特定数据类型,我们就需要对该数据类型进行转换。
View Object 层
View Object 是对 Entity Object 的封装,所以在迁移过程中,会遇到 DB2 所不能支持的遗留数据类型的问题。所幸的是在转换完 Entity Object 之后,使用 JDeveloper 可以很方便的将 View Object 代码中的 Oracle 的特定数据类型转换为 Java 的数据类型。
更多精彩
赞助商链接