Как связать разные таблицы в в зависимости от значения одной переменной Java/Kotlin JPA?

Есть несколько классов

@Builder
@Entity
@Table(
    name = "job_entity"
)

class JobEntity<T> {

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "id_seq")
    var id: Long? = null
    var entityId: String? = null
    var type: String? = null
    
    var entity: T? = null

    @ManyToOne(fetch = FetchType.LAZY)
    var job: Job? = null
}

@Builder
@Entity
@Table(
    name = "client_entity"
)
class ClientEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "id_seq")
    var id: Long? = null
    var name: String? = null


    var jobEntity: JobEntity? =null
}

@Builder
@Entity
@Table(
    name = "task_entity"
)
class TaskEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "id_seq")
    var id: Long? = null
    var title: String? = null

  
    var jobEntity: JobEntity? =null
}

в классе JobEntity есть поле type которое принимаеn значения(client/task) и в зависимости от значение подтягивются данные из соответствующих классов ClientEntity и TaskEntity, как правильно прописать связь в поле var entity: T? = null с разными классами(таблицами) в зависимоcти от значение поля var type: String? = null ???


Ответы (0 шт):