Java JSR303验证-确保字段具有特定的接口实现
我在寻找一些可能存在的东西,因此为什么我要问,而不仅仅是创造它 假设我有以下几点:Java JSR303验证-确保字段具有特定的接口实现,java,validation,bean-validation,Java,Validation,Bean Validation,我在寻找一些可能存在的东西,因此为什么我要问,而不仅仅是创造它 假设我有以下几点: public interface SillyInterface { public String name(); } public class SillyInterfaceImplA { public String name() { return "SillyImplA"; } } public class SillyInterfaceImplB { public
public interface SillyInterface {
public String name();
}
public class SillyInterfaceImplA {
public String name() {
return "SillyImplA";
}
}
public class SillyInterfaceImplB {
public String name() {
return "SillyImplB";
}
}
现在让我们假设我有以下POJO:
public class SillyPOJO {
SillyInterface silly1;
SillyInterface silly2;
}
是否存在任何注释(Hibernate或stock),这样我就可以确保获得对某个具体实现的引用(无需更改POJO以使silly1成为我希望的引用类型)?Hibernate对JSR 303具有最佳的验证支持,您可以在此处查看所有注释:
您甚至可以为自己的验证例程编写自定义注释,尽管这对于您要做的事情来说是一项艰巨的工作。不幸的是,正如“matt b”所说,这只提供运行时支持,即使您编写了自定义的东西。但是为什么不将java类更改为只引用所需的具体类型呢?您可以在编译时而不是运行时捕获错误。