EclipseLink - JPA - Entitymanager flush()显然在mysql上提交数据

时间:2016-01-21 20:32:38

标签: mysql jpa eclipselink

对于我所读到的内容,事务中的EntityManager.flush()不应提交数据。特别是,如果我回滚我的交易。

这是我正在运行测试的一小段代码:

EntityManager em = factory.createEntityManager();
em.getTransaction().begin();
em.persist(myEntity);
em.flush();
em.getTransaction().rollback();
em.close();

如果我查看MySQL(v.5.x),运行此代码后,我看到我的实体是持久的,即使我调用了rollback()。如果我删除em.flush(),则实体不会保留。但我需要调用它才能更新ID。那么,怎么了?

0 个答案:

没有答案