vin*_*hkr 6 sql database orm hibernate
假设我有一个带有自动生成主键的实体.现在,如果我尝试使用可能不唯一的所有其他字段的值保存实体.实体将自动填充插入行的id.它是如何获得主键值的?
编辑:
如果主键列是标识列,其值完全由数据库决定.所以它执行一个没有该列值的insert语句,并且db决定要使用的值,它是否会回复它的决定(我不这么认为)
Joe*_*don 7
Hibernate使用三种方法来提取DB自动生成的字段,具体取决于jdbc驱动程序或您正在使用的方言的支持.
Hibernate提取生成的字段值将其放回pojo中:
使用方法Statement.getGeneratedKeys(Statement javadocs)
要么
直接从insert语句插入并选择生成的字段值.(方言 Javadocs)
在插入之后执行select语句以检索生成的IDENTITY值
所有这些都是由hibernate内部完成的.
希望它是您正在寻找的解释.
归档时间:
14 年,8 月 前
查看次数:
5926 次
最近记录: