Jpa由外地孩子成为父母

时间:2018-10-31 08:35:09

标签: java spring hibernate spring-data-jpa jpa-criteria

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

我有存储库

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....
        };
    }
}

1 个答案:

答案 0 :(得分: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);
    }
}