Hibernate持久化对象的状态:save(),persisit()

时间:2026-02-15 14:42:49

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

Hibernate持久化对象的状态:save(),persisit()

2、持久化对象的状态:

临时对象。

持久化对象。

删除对象。

游离对象。

Hibernate持久化对象的状态:save(),persisit()

3、对象的状态转换图:

Hibernate持久化对象的状态:save(),persisit()

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);

        }

Hibernate持久化对象的状态:save(),persisit()

Hibernate持久化对象的状态:save(),persisit()

5、Session的persisit()方法也会执行insert操作。

@Test

        public void testPersist() {

                News news = new News("tomcat","gwolf",new Date());

                session.persist(news);

             

        }

Hibernate持久化对象的状态:save(),persisit()

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

Hibernate持久化对象的状态:save(),persisit()

© 2026 五度知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com