java框架hibernate的实体对象有哪三种状态?以及这三种状态下,对实体进行修改会不会同步到数据库里?
发布网友
发布时间:2022-04-13 21:20
我来回答
共1个回答
热心网友
时间:2022-04-13 22:49
1. 瞬时状态: 当我们通过Java的new关键字来生成一个实体对象时,这时这个实体对象就处于自由状态。自由对象最大的特点就是,在数据库中不存在一条与它对应的记录。
2. 持久状态: 持久化对象就是已经被保存进数据库的实体对象,并且这个实体对象现在还处于Hibernate的缓存管理之中。这是对该实体对象的任何修改,都会在清理缓存时同步到数据库中。
3. 脱管状态:当一个持久化对象,脱离开Hibernate的缓存管理后,它就处于游离状态,游离对象和自由对象的最大区别在于,游离对象在数据库中 可能还存在一条与它对应的记录,只是现在这个游离对象脱离了Hibernate的缓存管理,而自由对象不会在数据库中出现与它对应的数据记录。
脱管状态的实体信息不会同步到数据库,而是会从数据库中返回该持久化状态
在持久状态下,该实体对象的任何修改,都会同步到数据库中。