【问题标题】:JPA 2: Benefits of @TableGeneratorJPA 2:@TableGenerator 的好处
【发布时间】:2013-01-02 07:43:32
【问题描述】:

@TableGenerator 技术生成主键有什么好处? 为什么我们使用这种技术以及如何使用用于存储生成器的序列名称和值的第三个表来获取数据?

【问题讨论】:

  • 你搜索的内容和what you have tried
  • 我很困惑为什么我们使用 tablegenerator 技术?对于表生成器,我们创建额外的表来保存生成器序列和生成器值。额外表的原因是什么以及从表中检索数据是否使用第三个表?

标签: java hibernate jpa annotations


【解决方案1】:

来自链接。 http://en.wikibooks.org/wiki/Java_Persistence/Identity_and_Sequencing#Table_sequencing

有几种生成唯一 ID 的策略。一些策略与数据库无关,而另一些则利用内置的数据库支持。 JPA 支持通过 GenerationType 枚举值定义的几种 id 生成策略:TABLE、SEQUENCE 和 IDENTITY。 选择使用哪种序列策略很重要,因为它会影响性能、并发性和可移植性。

因此,选择使用表生成器可以让您免于使用数据库特定的功能。这使得以后可以轻松地将数据库迁移到其他数据库提供程序。 因此,应根据您是否要稍后迁移数据库提供程序、为此牺牲多少性能等来做出决定。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-26
    • 2017-01-08
    相关资源
    最近更新 更多