Hibernate如何处理身份生成器? Generator类看起来像一个单例,它的同步生成方法没有静态字段。是为每个会话创建生成器实例,是JVM级单例,还是以完全不同的方式处理?
答案 0 :(得分:1)
Hibernate有许多标识符生成器,IDENTITY, SEQUENCE and TABLE正在使用数据库生成新的标识符值。使用锁(IDENTITY和SEQUENCE的软锁以及TABLE的硬锁)在数据库中进行同步。
生成器存储在SessionFactory
中,因此所有Sessions
共享它们。