foundation.jpa.querydsl.spring.SearchEngine Maven / Gradle / Ivy
package foundation.jpa.querydsl.spring;
import com.querydsl.core.Tuple;
import com.querydsl.core.types.EntityPath;
import com.querydsl.core.types.Predicate;
import foundation.jpa.querydsl.QueryVariables;
import org.springframework.data.domain.Pageable;
public interface SearchEngine {
SearchResult search(SearchCriteria extends EntityPath> criteria, QueryVariables variables);
SearchResult search(Predicate implicitPredicate, SearchCriteria extends EntityPath> criteria, QueryVariables variables);
SearchResult search(EntityPath entityPath, String query, String sort, Pageable pageable, QueryVariables variables);
SearchResult aggregate(AggregateCriteria extends EntityPath> aggregateCriteria, QueryVariables variables);
}