下面是我的存储库方法
List<Shipment> findByProductCategoriesBetweenQuarter( Set<Category> categories, Quarter from, Quarter to)
其中Category是一个实体,Quarter是@Embeddable,如下所示
class Quarter {
int year;
Quarters q; //Enum
}
我想使用@Query与以下代表性查询创建自定义存储库impl
@Query("select s from Shipment s where Category in (categories) and Quarter between (from, to)")
看来
@Query
与原语可以很好地工作,找不到可以帮助我实现上述情况的示例。所以这里有几个问题
1.有可能吗
2.如果可能,请提供参考。
PS:现在不能执行QueryDSL。
最佳答案
JPA将Enum
ordinal作为int
存储在数据库表中。
因此,您可以执行以下操作。
@Query("select s from Shipment s where Category in (categories) and Quarter between (from.ordinal(), to.ordinal())")