Как связать разные таблицы в в зависимости от значения одной переменной 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 ???