假设我们具有以下结构:

public class User {
   @NotNull(message = "not available")
   private String phoneNumber;
   //getter and setter
}

public class CEO extends User{}

public class TechManager extends User{}

public class Company {
   @Valid
   private CEO ceo;

   @Valid
   private TechManager techManager;
   //getters and setters
}


在上面的示例中,phoneNumber是CEO和TechManager之间的共享对象。

如何在CEO具有可选功能且TechManager具有必需的phoneNumber的情况下对此进行验证?

最佳答案

您可以在子类中隐藏private String phoneNumber字段,并按照每个子类所需的方式定义验证批注。在这种情况下,应该覆盖getter和setter。

07-26 06:29