Есть ли способ сделать запрос критериев для следующего собственного запроса? - PullRequest
0 голосов
/ 02 апреля 2019
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, чтобы я мог передать их из промежуточного класса) и не передавать их как строки?

...