是否可以对以下本机查询进行条件查询?

时间:2019-04-02 12:06:03

标签: java hibernate criteria hibernate-criteria criteria-api

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调用都将具有相同的基本查询。选择语句和分组依据的部分(集合等)将发生变化。最后生成的最终结果将始终是相同的。因此,我想构建一个查询生成器,在该查询生成器中,我将只传递投影列并按列分组,查询将自动生成。可以使用CriteriaBuilder完成此操作。无论如何,是否有访问表字段的权限(例如de.weekOfYear,以便我可以从中间类传递这些字段),而不是将它们作为String传递?

0 个答案:

没有答案