JPA查询MONTH / YEAR函数

如何MONTH像SQL查询一样使用函数编写JPA 查询?

@NamedQuery(name="querybymonth", query="select t from table1 t where MONTH(c_Date) = 5")

当我使用上述模式进行查询时,出现错误:unexpected token - MONTH

回答:

如果使用的是EclipseLink(2.1),则可以使用FUNC()函数来调用JPA JPQL规范中未定义的任何数据库函数。

即FUNC(’MONTH’,c_Date)

在JPA 2.1(EclipseLink

2.5)中,FUNCTION语法成为规范的一部分(并替代了EclipseLink特定的FUNC)。

如果使用的是TopLink Essentials,则无法在JPQL中执行此操作,但是可以为其定义TopLink Expression查询(类似于JPA

2.0标准),或使用本机SQL。

另外,如果您使用任何JPA 2.0提供程序并使用Criteria查询,则可以使用function()API来定义此功能。

以上是 JPA查询MONTH / YEAR函数 的全部内容, 来源链接: utcz.com/qa/426726.html

回到顶部