我有一个 EJB,我将一个对象保存到数据库中。在我看到的一个例子中,一旦保存了这些数据(EntityManager.persist),就会调用 EntityManager.flush(); 为什么我需要这样做?我正在保存的对象未附加,也未在该方法的后面使用。事实上,一旦保存方法返回,我希望资源被释放。(示例代码也在 remove 调用中执行此操作。)
if (somecondition) {
entityManager.persist(unAttachedEntity);
} else {
attachedEntityObject.setId(unAttachedEntity.getId());
}
entityManager.flush();