在实体的嵌套列表中按属性查找实体

时间:2019-04-17 14:23:25

标签: spring hibernate jpa nested spring-data-jpa

我需要选择所有ScheduleOrderEntities,其中嵌套列表的嵌套列表元素属性是...之间的日期。

以下解决方案中没有错误,但结果始终为空,而在使用以下方法进行测试时应具有多个值:

scheduleOrderRepository.findByExecutionTime(Instant.now(), Instant.now().plus(3, ChronoUnit.DAYS)) 

这个月每天有两次死刑执行

每个ScheduleOrderEntity都有一个属性:

@OneToMany(cascade = CascadeType.ALL, mappedBy = "parentOrder", orphanRemoval = true)
private List<SchedulePlanEntity> schedulePlanEntities;

每个SchedulePlanEntity具有:

@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
private List<ScheduleEntity> scheduleEntityList;

ScheduleEntity具有我需要排序的属性executeTime。

是否可以使用jpa?使用标准查询没有问题,但是我想知道此ORM是否可行。 我都尝试过:

@Query("SELECT soe FROM ScheduleOrderEntity soe LEFT JOIN soe.schedulePlanEntities 
spe LEFT JOIN spe.scheduleEntityList sel WHERE sel.executionTime BETWEEN 
:start AND :stop")
List<ScheduleOrderEntity> findByExecutionTime(@Param("start") Instant start, @Param("stop") Instant stop);

List<ScheduleOrderEntity> findBySchedulePlanEntities_ScheduleEntityList_ExecutionTimeBetween(@Param("start") Instant start, @Param("stop") Instant stop);

0 个答案:

没有答案