我在文档中读到了这个:
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();
对吗?
请让我知道我在哪里犯了错误。
问候,