假设我有一个带有自动生成的主键的实体。现在,如果我尝试使用所有其他字段的值(可能不是唯一的)保存实体。
该实体将自动使用插入的行的ID进行填充。它是如何掌握该主键值的?
编辑:
如果主键列是身份列,其值完全由数据库决定。因此,它会执行没有该列值的插入语句,并且数据库会决定要使用的值,是否会传达其决策(我不这么认为)
最佳答案
Hibernate使用三种方法来提取DB自动生成的字段,具体取决于jdbc驱动程序或所用方言的支持。
Hibernate提取生成的字段值,将其放回pojo中:
或
或
所有这些都是通过 hibernate 在内部完成的。
希望它是您正在寻找的说明。
关于sql - hibernate 状态如何填充自动生成的字段的ID?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6262604/