我有一個EJB,用於將對象保存到數據庫。在我看到的一個例子中,一旦保存了這些數據(EntityManager.persist),就會調用EntityManager.flush();爲什麼我需要這樣做?我保存的對象沒有附加,並且稍後在方法中不使用。事實上,一旦保存方法返回,我會期待資源被釋放。 (該示例代碼執行此上一個刪除呼叫爲好。)EntityManager.flush是做什麼的,爲什麼我需要使用它?
if (somecondition)
entityManager.persist(unAttachedEntity);
else
{
attachedEntityObject.setId(unAttachedEntity.getId());
}
entityManager.flush();
對FlushModeType的描述不正確:基本上AUTO意味着如果你改變了一個實體,然後做了一個可能返回該實體的SELECT查詢,那麼AUTO將強制在SELECT執行之前刷新該實體的改變。 –