有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JPA/Hibernate序列从Oracle迁移到DB2

如果我对域类中的@Id属性使用下面编写的Hibernate/JPA设置,那么从Oracle迁移到DB2是否容易

@SequenceGenerator(name = "ExampleSeq", sequenceName = "EXAMPLE_SEQ", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "ExampleSeq")

为每个表创建序列,前提是将它们用作每次插入的ID生成器。这是一个表的脚本片段:

CREATE SEQUENCE "EXAMPLE"."EXAMPLE_SEQ" NOCYCLE NOCACHE START WITH 1 NOMAXVALUE;

DB2支持这样的序列吗?我不确定

现在我在开发中使用Oracle,不用担心。当涉及到从开发迁移到其他类型的环境(如使用DB2作为持久层数据库的测试或生产环境)时,我有哪些选择

使用JPA/Hibernate抽象,一切都很好,我确信切换是可管理的。只有我提到的那个些序列问题困扰着我,我不知道如何处理

我需要你的帮助。谢谢


共 (1) 个答案

  1. # 1 楼答案

    创建一个配置参数。将其设置为Oracle或DB2。如果必须使用一个或多个数据库,请围绕此配置参数编程以获取变量。Postgresql有一个名为serial的列,如果您愿意,它负责为每个表创建这些列。您可能更关注模式定义问题,而不是Hibernate/JPA问题。只需在所有模式定义中使用相同的名称。ROWNUM=1是一种预言。使用limit=1。你可能也要注意这些问题