Java JPA规范.where(null)做什么?
我想知道JPA规范在哪里(null)做什么?它被认为是真正的价值吗?所以,这就像在执行repo.findAll(规范)时根本没有过滤器一样 我有一个spring boot应用程序,它的型号有Java JPA规范.where(null)做什么?,java,spring,spring-boot,jpa,Java,Spring,Spring Boot,Jpa,我想知道JPA规范在哪里(null)做什么?它被认为是真正的价值吗?所以,这就像在执行repo.findAll(规范)时根本没有过滤器一样 我有一个spring boot应用程序,它的型号有validFrom和validTo日期字段和一个存储库 @Data public class DataClass { @Id private Long id; private Date validFrom; private Date validTo; } @Repositor
validFrom
和validTo
日期字段和一个存储库
@Data
public class DataClass {
@Id
private Long id;
private Date validFrom;
private Date validTo;
}
@Repository
public interface DataClassRepository extends JpaRepository<DataClass , Long>, JpaSpecificationExecutor<DataClass > {}
提前谢谢
public Specification<DataClass> createSpecification(Date validFrom, Date validTo) {
Specification<DataClass> specification = Specification.where(null);
if (validFrom != null && validTo != null) {
specification = createBetweenSpecification(criteria); // this block won't run because dates are null
}
return specification;
}
public List<DataClass> getDataObjects() {
return repository.findAll(createSpecification(null, null));
}