@Test public void testSave() throws Exception{ Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); //------------------------ try { User user = new User(); user.setName("张三");//临时状态 session.save(user); user.setName("李四");//持久化 tx.commit(); user.setName("王五");// 这里是持久化还是游离!,不是session关闭之后转变为游离么?session还没有关闭啊?如果是持久化数据库为什么不更新 } catch (Exception e) { tx.rollback(); throw e; } finally { session.close(); }
你好。你上面已经执行了save操作,并且已经commit了。但是下面user.setName没有进行保存操作,只是所有只是一个临时状态。也就是游离态。