从 OneToMany 关系中获取满足 JPA 中条件的实体

问题描述

我有以下表格:

工作

@Entity
@Table(name = "job")
data class JobEntity( {

..
.. //irrelevant code

): TrackableEntity() {
   @OneToMany(mappedBy = "jobId",fetch = FetchType.Lazy)
   var schedules: Set<JobScheduleEntity>? = emptySet()
}

日程

@Entity
@Table(name = "job_schedule")
data class JobScheduleEntity(

var jobId: Long,..
..

var active: Boolean

) : TrackableEntity() {
   @ManyToOne(fetch = FetchType.Lazy)
   @JoinColumn(name = "jobId",updatable = false,insertable = false)
   var job: JobEntity?= null
}

现在我遇到了这种情况,我想搜索所有工作,并收集他们所有处于活动状态的日程安排,所以 active = true,但是,我不想总是这样做,但只是在一种特定情况下,所以我不能只是在 Job Entity 中的 jobSchedules 上放置一个默认过滤器。我尝试使用 @Query 注释进行左外连接,但从我可以收集到的信息来看,实体本身将始终选择可跟踪实体变量中的所有时间表。我如何在 Job 的 JpaRepository 中编写一个特定的函数来获取作业,并且只有它们处于活动状态的计划?如果您需要有关代码的更多信息,请告诉我,我尽量简洁

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...