gpt4 book ai didi

hibernate - Hibernate在更新时可以忽略实体成员吗?

转载 作者:行者123 更新时间:2023-12-02 22:22:23 26 4
gpt4 key购买 nike

是否可以在更新查询中将实体的某些成员标记为“忽略”?

我基本上有一个可以更新的实体。但并不是实体的所有成员一旦设置就可以更新。因此,当我使用 Spring 将表单数据绑定(bind)到我的实体时,表单上未公开的字段都具有空值。当实体更新时,映射列将写入 null 值。

我现在已经将不可更改的值隐藏了表单值,但我认为这不是最好的解决方案。还有更好的吗?

谢谢。

最佳答案

在我看来,最好的解决方案是避免从表单字段重建实体的新实例。相反,采用现有的、完全填充的实体实例,更改表单中字段的值,然后合并该实体。

另一种方法是将列标记为不可更新(使用@Column(updatable = false)),但这将使该列对于所有用例都不可更新,但我不这样做一般来说,我不认为这是一个好主意:如果某些字段可能不会被某些用户更改,但可能会被其他用户或管理数据迁移工具更改,那么将列设置为不可更新将会很烦人。

关于hibernate - Hibernate在更新时可以忽略实体成员吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8924715/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com