Hibernate中的身份生成器是单身吗?

时间:2015-07-03 12:16:43

标签: java database hibernate jpa orm

Hibernate如何处理身份生成器? Generator类看起来像一个单例,它的同步生成方法没有静态字段。是为每个会话创建生成器实例,是JVM级单例,还是以完全不同的方式处理?

1 个答案:

答案 0 :(得分:1)

Hibernate有许多标识符生成器,​​IDENTITY, SEQUENCE and TABLE正在使用数据库生成新的标识符值。使用锁(IDENTITY和SEQUENCE的软锁以及TABLE的硬锁)在数据库中进行同步。

生成器存储在SessionFactory中,因此所有Sessions共享它们。