@TableGenerator技术生成主键有什么好处? 为什么我们使用这种技术以及如何使用用于存储生成器的序列名称和值的第三个表来获取数据?
来自链接。 http://en.wikibooks.org/wiki/Java_Persistence/Identity_and_Sequencing#Table_sequencing
有多种生成唯一 ID 的策略。有些策略与数据库无关,而其他策略则利用内置数据库支持。 JPA 提供对通过 GenerationType 枚举值定义的多种 id 生成策略的支持:TABLE、SEQUENCE 和 IDENTITY。 选择使用哪种序列策略很重要,因为它会影响性能、并发性和可移植性。
因此,选择使用表生成器可以使您免于使用数据库特定功能。这使得以后可以轻松地将数据库迁移到其他数据库提供商。 因此,应该根据您是否想要稍后迁移数据库提供商、为此牺牲多少性能等来做出决定。
TABLE 生成器有很多好处:
关于如何从 TABLE 生成器的底层表中获取数据,这里有一篇关于 如何实现带有前缀的自定义 TableGenerator 的文章。但网上有很多可用的。