Java Jpa按字段子项获取父项

Java Jpa按字段子项获取父项,java,spring,hibernate,spring-data-jpa,jpa-criteria,Java,Spring,Hibernate,Spring Data Jpa,Jpa Criteria,如何按子字段获取父实体?我使用规范 我有一个存储库 ParentRepository extends JpaRepository<Parent, Long>, JpaSpecificationExecutor<Parent>{ } 我需要按孩子的领域找到父母。需要有日期介于两个日期之间的孩子的家长 我试图编写类ParentSpecification,但不知道如何完成 public class ParentSpecification { private Paren

如何按子字段获取父实体?我使用规范

我有一个存储库

ParentRepository extends JpaRepository<Parent, Long>, JpaSpecificationExecutor<Parent>{
}
我需要按孩子的领域找到父母。需要有日期介于两个日期之间的孩子的家长

我试图编写类ParentSpecification,但不知道如何完成

public class ParentSpecification {
    private ParenSpecification() {
    }
    public static Specification<Parent> byChildName(Date one,  Date two){
        return (root, query, criteriaBuilder) -> {
           ??????????            
return criteriaBuilder....
        };
    }
}

下面的代码可能对您有所帮助。此处按子日期查找父项。你可以根据需要改变

public class ParentSpecification {

    public static Specification<Parent> byChildDate(Date one, Date two){
        return (root, query, criteriaBuilder) ->
            criteriaBuilder.between(root.get("child").get("date"), one, two);
    }
}

与sql类似:将*从父项中选择为c,其中c.ID_子项在select CHILD.ID from CHILD where CHILD.date中介于2010年和2018年之间
public class ParentSpecification {

    public static Specification<Parent> byChildDate(Date one, Date two){
        return (root, query, criteriaBuilder) ->
            criteriaBuilder.between(root.get("child").get("date"), one, two);
    }
}