先SAVE数据,然后DELETE数据,再SAVE数据报错
could not reassociate uninitialized transient collection
网上查了下
三个状态的转变,其中persistent状态 通过delete 变成 transient状态,接着把这个 transient状态的对象通过save 来变成 persistent状态 却出错  
解答:
变成临时态之后,是不能执行delete,save的  
因为这时候原始的数据还是在库中的  
并没有真正的删除
疑问:很纳闷!!!!!不解,什么叫临时状态。怎么解决。有朋友遇到过吗

解决方案 »

  1.   

    也叫脱管状态.可以先通过那个mer..什么的方法,与数据库中的对象关联起来,然后操作.
    TTT t = new TTT();
    t.setId(10);
    session.delete(t);
    TTT t = session.get(TTT.class,10);
    session.delete(t); hibernate 的数据分为三种状态
    临时
    持久
    游离而临时指的是:新创建的对象 ,在数据库中是不存在的,session中也不存在
    持久: 从数据中取出来了 存在session中的,对内存中的数据进行了修改,同样也会影响到数据库中的数据
    游离:当与某持久对象关联的session被关闭后,即他不存在session中,但是存在数据库中
    游离对象拥有数据库的识别值,可通过update()、saveOrUpdate()等方法,转变成持久对象。