这个属性设置为true的话,调用sesion的delete方法的时候会将那个持久化对象或者游离对象的id设置为null。
但是今天发现,如果在hbm.xml的配置文件的<id>元素里面设置了unsaved-value的话,session调用了delete方法后,会将这个对象的id设置为unsaved-value指定的值。
<id name="id" type="java.lang.Integer" unsaved-value="1000">
<property name="hibernate.use_identifier_rollback">true</property>
@Test
public void testt() {
User user = get(User.class, 30);
session.delete(user);
System.out.println(user);
tx.commit();
}
结果
Hibernate:
select
user0_.ID as ID2_0_,
user0_.NAME as NAME2_0_,
user0_.AGE as AGE2_0_
from
USER user0_
where
user0_.ID=?
User [id=1000, name=小, age=20]
Hibernate:
delete
from
USER
where
ID=?