zoukankan      html  css  js  c++  java
  • hibernate--对象的三种状态Transient,Persistent,Detached

    Transient:刚new出来的对象

    Persistent: sava或者update之后的状态

    Detached: close或者clear之后

    test函数:

    @Test
    	public void testSaveWith3State() {
    	
    		Teacher t = new Teacher();		
    		t.setName("t1");
    		t.setTitle("middle");
    		t.setBirthDate(new Date());  //此时t是transient状态
    		
    		Session session = sessionFactory.getCurrentSession();
    		session.beginTransaction();
    		session.save(t);
    		System.out.println(t.getId());  //此时是persistent状态
    		session.getTransaction().commit();		
    		System.out.println(t.getId());  //此时是detached状态
    	}
    

    3种状态的区分:

    1. 有没有ID? 

    2. ID在数据库里有没有?

    3. ID在内存里有没有?  

    transient: 内存中的一个对象, 没ID,缓存里也没有

    persistent:内存里有, 缓存有, 数据库有, 有ID

    detached:内存有, 缓存没有, 数据库有,有ID

  • 相关阅读:
    表单
    表格
    浮动与定位实例中的问题
    浮动与定位
    BFC的布局规则以及触发条件
    发布为知笔记到博客
    处理为知笔记样式与博客园样式冲突
    文字处理
    块元素并行的问题
    标签嵌套规则
  • 原文地址:https://www.cnblogs.com/wujixing/p/5416226.html
Copyright © 2011-2022 走看看