Hibernate 如何使用表维护主键

发布于 科技 2024-02-25
2个回答
  1. 匿名用户2024-01-25

    为休眠生成主键有几种策略:1) assigned2)。

    hilo3)

    seqhilo4)

    increment5)

    identity6)

    sequence7)

    native8)

    一般来说,利用主键生成方式将提供最佳的性能和数据库平台适应性。 也由于常用的数据库,如oracle、db2、sqlserver、mysql

    以此类推,所有这些都提供了易于使用的主键生成机制(自动增加字段或序列)。 我们可以在数据库提供的主键生成机制中使用 generator-class=native 来生成主键。 但值得注意的是,某些数据库提供的主键生成机制可能不是最有效的,大量的并发插入数据可能会导致表之间的互锁。

    数据库提供的主键生成机制通常是将当前主键状态保存在内部表中(例如,对于自动递增的主键,当前的最大值和增量都保留在这个内部表中),然后每次插入数据时,都会读取最大值,然后将增量添加为新记录的主键, 然后,将新的最大值更新回内部表,以便插入操作可能会导致数据库中的多个表读/写操作。同时,伴随着数据的解锁操作,对性能影响很大。因此,建议用于对并发刀片要求较高的系统。

    作为主密钥生成机制。

  2. 匿名用户2024-01-24

    主密钥生成策略:

    increment:主键,适用于所有数据库,由 Hibernate 维护并自递增,与底层数据库无关,但不适用于两个或多个 Hibernate 进程。

    标识:主键,适用于支持自动递增的DBMS,如MySQL或MS SQL Server,主键值不由Hibernate维护。

    序列:主键适用于 Oracle 和其他支持序列的 DBMS,主键值不是由 Hibernate 维护的,由序列生成。

    native:根据底层数据库的具体特征选择主键生成策略,如果是MySQL或SqlServer,选择Identity,如果是Oracle,选择Sequence。

    hilo:主键,Hibernate 使用特定表的字段作为 hign 值来生成主键值。

    **主键,Hibernate 使用 UUID 128 位算法生成基于字符串的主键值。

    assign:适合应用程序维护的自然主键。

相关回答
15个回答2024-02-25

也有可能是它已被网络钓鱼**屏蔽阻止,或者页面设置有问题。 >>>More

9个回答2024-02-25

金山急救箱维修,小红伞杀毒。 360只能作为安全辅助和优化软件使用! 我的电脑就是这样,我玩电脑已经有七八年了。

22个回答2024-02-25

浪琴表维修中心位于杭州市江干区钱江路1366号万象市华润大厦B座2606室。 >>>More

8个回答2024-02-25

九十九乘法表有 9 行 9 列,重点是 for 循环。 >>>More

18个回答2024-02-25

1.首先目视检查干电池的电压,通常当然有6V或9V,不常见)。 >>>More