如何更新对象休眠

ggy

我有从Java代码到postgresql的更新对象的问题。更新对象时,id出现问题,因为id为null。因此,在数据库中创建新行而不是覆盖同一行。看来,数据库中的行:

id = 1
name = "name"
then I'm sending a json, like:
{
  name: "newName"
}

然后我得到了新的一行,看来:

id = 1, name = "name"
id = 2, name = "newName"

这是因为当我发送json时,id为null,因此postgresql正在创建新行,但是我想用覆盖该行id = 1添加的解决方案之一@OneToOne(orphanRemoval = true),但我不喜欢它,因为它先删除了旧ID,然后又创建了新ID。如果没有ID,如何覆盖初始行?

谢谢!

class A{
@Id
@GeneratedValue
UUID id;

@OneToOne(mappedBy = "A", cascade = CascadeType.ALL)
B b;
}

class B{
 @Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Long id;

@OneToOne(optional = false)
@JoinColumn(name = "A_id")
A a;
}

updatedA.setInfo(jsonSend.getInfo());
ggy

之间,我用“ spring beanutils copyproperties”解决了我的问题,也许对某人有帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章