如何通过孩子的字段获取父实体?我使用规范
我有存储库
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....
};
}
}
答案 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);
}
}