这里实体对象,特制hibernateO/R映射关系中的域对象(即“O”);
1,Transient(自由状态)
即实体在内存中自有的存在,没有与数据库记录无关系。
Tuser tuser = new Tsur();
tuse.setName("li");
对象 tuser 就处于 transient 状态
2 Persistent(持久太)
处于hibernate框架管理的状态。实体对象的引用将纳入hibernate容器管理。
对象的变更将固化的数据库。
Tuser tuser = new Tsur();
tuse.setName("li");
、、、、、、、、、、、、、
Transaction tx = new Transaction();
session.save(tuser);
此时对象处于Persistent状态。通过session.save改变了状态。同样session.load();加载对象也处于Persistent状态。也同样实体对象纳入了hibernate容器的管理当中。
简单的说就是某个实体对象与session实例发生关联,并处于session的有效期就处于Persistent状态
3 Detached(游离态)
session关闭
Transient 状态和Detached状态最大的区别在于 Transient状态下的user对象与数据库表没有对应关系。而Detached状态下的user对象却在库表中存在相应的记录。只不过脱离了session数据操作平台。期状态无法更新到库表中的对应记录。
简单的说也就是Transient 状态无主键信息,而Detached状态的user对象包含了对应数据库的主键信息。