0

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

我有存储库

ParentRepository extends JpaRepository<Parent, Long>, JpaSpecificationExecutor<Parent>{
}

还有两个类:

 class Parent{
    @Id
    long id;

    @OneToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = ID_CHILD)
    Child child;
    }



  class Child{
    @ID
    long id;

   @OneToOne(mappedBy = "child", cascade = CascadeType.ALL)
   Parent parent;

    Date date;
    }

我需要按孩子的领域得到父母。需要有两个日期之间日期的孩子的父母。

我试图编写类 ParentSpecification 但不明白如何完成它。

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

1 回答 1

1

以下代码可能会对您有所帮助。在这里按孩子日期找到父母。您可以根据需要进行更改。

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);
    }
}
于 2018-10-31T09:17:48.397 回答