@Override public <T, E> E getConvertedExpression(String originalExpression, Class<T> beanClass, Class<E> queryClass) { SearchConditionVisitor<T, E> visitor = getVisitor(); if (visitor == null) { return null; } SearchCondition<T> cond = searchContext.getCondition(originalExpression, beanClass); if (cond == null) { return null; } cond.accept(visitor); return queryClass.cast(visitor.getQuery()); }
public <T, E> E getConvertedExpression(String originalExpression, Class<T> beanClass, Class<E> queryClass) { SearchConditionVisitor<T, E> visitor = getVisitor(); if (visitor == null) { return null; } SearchCondition<T> cond = searchContext.getCondition(originalExpression, beanClass); if (cond == null) { return null; } cond.accept(visitor); return queryClass.cast(visitor.getQuery()); }
public List<Person> getTypedQueryPerson(SearchContext context) { // Get search condition encapsulating the query expression SearchCondition<Person> filter = getSearchCondition(context); // Initialise JPA2 visitor which can convert the captured search expression // into JPA2 TypedQuery SearchConditionVisitor<Person, TypedQuery<Person>> jpa = new JPATypedQueryVisitor<Person>(em, Person.class); // Convert filter.accept(jpa); // Get TypedQuery TypedQuery<Person> typedQuery = jpa.getQuery(); // Run the query and return the results return typedQuery.getResultList(); }
@Override public <T, E> E getConvertedExpression(String originalExpression, Class<T> beanClass, Class<E> queryClass) { SearchConditionVisitor<T, E> visitor = getVisitor(); if (visitor == null) { return null; } SearchCondition<T> cond = searchContext.getCondition(originalExpression, beanClass); if (cond == null) { return null; } cond.accept(visitor); return queryClass.cast(visitor.getQuery()); }