import org.springframework.data.jpa.domain.Specification
class SubBasicSpec<Entity, SubEntity> : Specification<Entity> {
override fun toPredicate(root: Root<Entity>?, query: CriteriaQuery<*>?, cb: CriteriaBuilder?): Predicate? {
val subQuery = query?.subquery<Entity>(Entity::class.java) // not ok
val subRoot = subQuery.from(SubEntity::class.java) // not ok, the same
throw UnsupportedOperationException()
}
}
and I have difficulty to define a reified fun:
inline fun <reified Entity> CriteriaQuery<Entity>.subquery1() = this.subquery<Entity>(Entity::class.java)