分离的实体传递给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
问题是为什么这个实体会脱离? 根据我的理解,当你创建一个新实体时,它是暂时的,当你试图坚持它时,它就会变得持久。那么实体如何脱离,因为分离的实体目前不在持久化上下文中而是在数据库中?
如果我在某处错了,请帮助并纠正我。
答案 0 :(得分:0)
如错误消息所示,如果您创建新对象,则不应设置ID。
public static void main(String[] args){
UserBean user = new UserBean();
user.setUserName("name1");
user.setPassword("passwd1");
em.persist(user);
}
如果要更改一个已经存在的对象,则必须先从数据库中读取它,然后更改属性并更新对象