gpt4 book ai didi

validation - 有没有一种方法可以使用 Hibernate 进行嵌套约束验证,而无需使用 @Valid 注释?

转载 作者:行者123 更新时间:2023-12-05 04:14:18 26 4
gpt4 key购买 nike

我有一个巨大的对象模型,其中包含许多嵌套对象和字段。我需要验证基础对象的所有 字段。有没有办法在不向所有字段添加 @Valid 注释的情况下做到这一点?

示例对象:

class A { @NotNull private String id; ...}
class B { @NotNull private String id; List<A> aList; ...}
class C { @NotNull private String id; B bInstance; A aInstance; ...}
class D { @NotNull private String id; List<C> cList; ... }
...

如果我需要递归地验证 D 的实例,我必须将 @Valid 放在 A、B、C、D 的所有相关字段中。我的对象模型中有大量对象。很容易错过将注释放在字段上。

最佳答案

不,您应该将所有必需的 @Valid 注释添加到您的对象图中。

如果这真的会成为一个问题,您可以尝试使用 Hibernate Validator 的 API 来自动处理动态约束违规。您必须反射性地遍历您的对象模型并为遇到的每个引用(普通对象引用或集合/映射/数组)调用 valid()

但我建议不要这样做,因为它增加了相当多的复杂性,并使解决方案比查看普通 @Valid 时更难理解。注释。

关于validation - 有没有一种方法可以使用 Hibernate 进行嵌套约束验证,而无需使用 @Valid 注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35330920/

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