使用JPA,会导致创建新行而不是更新现有行?

时间:2014-10-01 06:26:17

标签: java jpa

当我的应用程序出现时,它会检查实体(最多应该存在一个实体)是否存在。如果没有,则创建并保留新实体。我打电话给EntityManager.persist()(并且我已经实验性地尝试了merge())该实体,期待当我停止应用程序并查看相应的表以查找单行但我找到每个持久性行或合并通话。我可能做错了什么?

1 个答案:

答案 0 :(得分:0)

<强>插入

  • 该实体EntityManager
  • 读取
  • ID为null(如果它是原始的,如int,则为0
  • 您致电EntityManager.persist()
  • 您致电EntityManager.flush()

<强>更新

  • EntityManagerfind或执行查询)读取实体
  • 您更改了某些字段
  • 您致电EntityManager.flush()