2014-10-01 29 views
0

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

回答

0

插入

  • 的實體EntityManager
  • 讀取的ID是null(如果它是原始的,就像int,它是0
  • 你叫EntityManager.persist()
  • 您致電EntityManager.flush()

更新

  • 實體從EntityManager(通過find或執行查詢)
  • 讀你改變它的一些領域
  • 你叫EntityManager.flush()
相關問題