多语言展示
当前在线:351今日阅读:113今日分享:31

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

Hibernate持久化对象的状态
工具/原料
1

hibernate

2

eclipse

方法/步骤
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,则抛出异常。

推荐信息