我是Bean Validation JSR 303提供的方法级验证的忠实粉丝。我认为在bean 1和bean 2之间的合同中验证每个方法是个好主意:
假设我们有这样的合同:
@Stateless
public class BeanA implements BeanALocal {
@EJB
private BeanB beanB;
@Override
public void doAOnB(ObjectA a) {
...
beanB.doBOnA(a);
...
}
}
public interface BeanALocal {
@MyValidator
void doAOnB(ObjectA a);
}
与约束MyValidator相关联的验证器执行交叉参数验证,例如检查数据库中是否已存在'a'。问题是,我总是要做相同的sql 2次(在验证器和验证的bean中)。有没有人面临类似的问题,并找到了更好的解决方案?
由于