Hibernate持久化对象的状态:save(),persisit()
1、站在持久化的角度,Hibernate把对象分为4中状态:持久化状态,临时状态,游离状态,删除状态。Session的特定方法能使何材对象从一个状态转换到另外一个状态。

2、持久化对象的状态:
临时对象。
持久化对象。
删除对象。
游离对象。

3、对象的状态转换图:

4、Session的save()方法:使一个临时对象变为持久化对象,为对象分配ID,在flush缓存时会发送一条insert语句,在save方法之昆霜前设置的id是无效的。持久化对象的ID是不能被修改的。
public void testSave() {
News news = new News("tomcat","gwolf",new Date());
System.out.println(news);
session.save(news);
System.out.println(news);
}


5、Session的persisit()方法也会执行insert操作。
@Test
public void testPersist() {
News news = new News("tomcat","gwolf",new Date());
session.persist(news);
}

6、 save方法和persist的区别:在persist方法之前,若对象已经有ID了,则不会执行insert,耍暗辞则抛出异常。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:187
阅读量:160
阅读量:184
阅读量:79
阅读量:35