为什么分离的实体中的分离传递持续存在?

时间:2016-07-22 04:49:15

标签: hibernate jpa entity persistence

分离的实体传递给hibernate / jpa中的持久性错误 在this链接上使用相同示例。

public static void main(String[] args){
         UserBean user = new UserBean();
         user.setId(1);
         user.setUserName("name1");
         user.setPassword("passwd1");
         em.persist(user);
  }

由于以下原因造成:明确设置ID

问题是为什么这个实体会脱离? 根据我的理解,当你创建一个新实体时,它是暂时的,当你试图坚持它时,它就会变得持久。那么实体如何脱离,因为分离的实体目前不在持久化上下文中而是在数据库中?

如果我在某处错了,请帮助并纠正我。

1 个答案:

答案 0 :(得分:0)

如错误消息所示,如果您创建新对象,则不应设置ID。

public static void main(String[] args){
         UserBean user = new UserBean();
         user.setUserName("name1");
         user.setPassword("passwd1");
         em.persist(user);
  }

如果要更改一个已经存在的对象,则必须先从数据库中读取它,然后更改属性并更新对象