我的文檔閱讀:session.persist()方法混淆
persist() also guarantees that it will not execute an INSERT statement if it is called outside of transaction boundaries.
但是當我嘗試此代碼:
SessionFactory sessionFactory = new Configuration().configure("student.cfg.xml").buildSessionFactory();
Session session = sessionFactory.openSession();
Student student = new Student();
student.setFirstName("XXX");
student.setLastName("YYY");
student.setCity("ZZZ");
student.setState("PPP");
student.setCountry("XXX");
student.setId("NNN");
session.persist(student);
session.flush();
session.close();
記錄是越來越插入。正如你在上面的代碼中看到的,我沒有使用任何事務。那麼在這種情況下,根據文檔,數據不應插入數據庫權利?
交易界限是指Transaction tran = session.beginTransaction();
與tran.commit();
之間的任何操作對吧?
請讓我知道我犯了什麼錯誤。
問候,
交易是否啓用了連接? –
NO。任何進一步的幫助呢? – user182944
@ user182944你有答案嗎?請分享。 –