-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Description
Based on demand to allow composition of specifications across various input types (joins, embeddables) and types of the entity type hierarchy, there's a limitation on how far we can support these cases with Specification
. We however have PredicateSpecification
that is meant for composition but its current signature requires Root<T>
. We've been asked to accept From
instead. From
defines source and target types that interfere with our type assumption T
.
We have the options to either drop the type or pin it to From<?, T>
. Introducing another type parameter for the source type seems not ideal.
So we would apply the type T
for PredicateSpecification
to the From<?, T>
target type. While implementations lose the source type information, they benefit from a wider range or accepting joins and embeddable types.
References: