0
當我的應用程序出現時,它檢查是否存在實體(最多隻有一個實體)。如果不存在,則創建並保持一個新的實體。我打電話給EntityManager.persist()
(我試驗性地嘗試過merge()
)實體,期望當我停止應用程序並查看相應的表來查找單行時,而是爲每個持續或合併調用找到一行。我可能會做錯什麼?使用JPA,什麼會導致創建新行而更新現有行?
當我的應用程序出現時,它檢查是否存在實體(最多隻有一個實體)。如果不存在,則創建並保持一個新的實體。我打電話給EntityManager.persist()
(我試驗性地嘗試過merge()
)實體,期望當我停止應用程序並查看相應的表來查找單行時,而是爲每個持續或合併調用找到一行。我可能會做錯什麼?使用JPA,什麼會導致創建新行而更新現有行?
插入:
EntityManager
null
(如果它是原始的,就像int
,它是0
)EntityManager.persist()
EntityManager.flush()
更新:
EntityManager
(通過find
或執行查詢)EntityManager.flush()