String query1 =
String.format(
"SELECT %s "
+ "FROM AppStoreProductViewsEntity aspve "
+ "INNER JOIN DateDimensionEntity de "
+ "ON aspve.date = de.date "
+ "where %s "
+ "GROUP BY %s ",
"aspve.productId, de.weekOfYear, sum(aspve.productListingViewers)",
"aspve.date >= :from_date and aspve.date <= :to_date and aspve.productId = :product_id",
"aspve.productId, de.weekOfYear");
Это кусок родного hql. В моем случае все вызовы API, использующие это, будут иметь один и тот же базовый запрос. Изменятся только части (агрегация и т. Д.) Оператора select и group by. Окончательно сгенерированный будет всегда один и тот же. Поэтому я хочу построить построитель запросов, где я просто передам столбцы проекции и сгруппируем столбцы, и запрос будет сгенерирован автоматически. Это можно сделать с помощью CriteriaBuilder. Есть ли в любом случае доступ к полям таблицы (например, de.weekOfYear, чтобы я мог передать их из промежуточного класса) и не передавать их как строки?