|
发表于 2007-9-14 09:51:49
|
显示全部楼层
同意.hibernate中为设置为native的属性设置了一个记录变量.每次产生的ID由这个变量来决定.
我做了一个简单的实验.实例化产生一个对象设置并对象属性.但不设置ID属性.这时读取ID为NULL,在调用Session的save方法来保存这个对象.但不执行事务提交.再读取ID,这时有一个值.重复执行Session的save方法,ID值递增.(注在同一个session中重复保存同一个对象,ID是不会增长的).而此时间数据库里根本没有相关的数据记录.些时你要是向库里插入一条数据,会发现最后那条记录与前一条记录之间ID不连续.而之间的差值就是由于之前调用Session的save方法时把记录ID的变量给递增了.
[ 本帖最后由 jenney 于 2007-9-14 09:53 编辑 ] |
|