【问题标题】:unique id generation for all DB vendors为所有数据库供应商生成唯一 ID
【发布时间】:2012-12-26 11:35:27
【问题描述】:

我有一个使用 hibernate-jpa 注释开发的项目。

我有机会使用 JPA 创建 ID,它们是 AUTO、Increment、sequence 和 table。

Auto 适用于所有数据库供应商,但它会同时增加所有表的 id。

例如:表 a - id 为 100

table b id 为 101。

c id 为 102。

我想要像这样的ID

对于表 A id 应该是 100 到 1000

表 B 的 id 应该是 100 到 1000

也适用于所有表格。

我不想创建单独的序列和表格并填充数据库。

【问题讨论】:

    标签: hibernate jpa annotations


    【解决方案1】:

    AUTO 不会同时增加所有表的 ID。

    这是它的作用(来自 JPA 规范):

    AUTO 值表示持久性提供程序应该选择一个 特定数据库的适当策略。 AUTO一代 策略可能期望数据库资源存在,或者它可能试图 创建一个。供应商可以提供有关如何创建此类文件的文档 如果它不支持模式生成或 无法在运行时创建架构资源。

    如果您关心应该使用的策略,那么定义一个显式策略,以及该策略所需的数据库资源。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-08
      • 1970-01-01
      • 1970-01-01
      • 2012-02-22
      • 1970-01-01
      相关资源
      最近更新 更多