我无法理解以下代码:
final Specifications<PaymentBatch> criteriaSpecification =
where(paymentBatchesInZone(getCurrentZone()))
.and(new PaymentBatchSearchFilter(paymentBatchSearchQueryDTO));
.and
和where
代表什么?
答案 0 :(得分:2)
这是一种名为fluent interface的模式。
详见此处:Is it bad practice to make a setter return "this"?
对函数的每次调用都会返回当前对象,因此可以在不声明单独引用的情况下进行后续方法调用。
因此,where()
和and()
两个方法都是DAO pattern的一部分,并提供了创建SQL WHERE
语句的方法。