在jpa条件查询中选择特定日期格式

use*_*146 1 jpa date criteria-api

我想在我们使用的多选jpa条件查询中选择特定格式的日期

select to_char(tn.dbdate,'yyyy-MM-dd') from transaction tn 
在oracle.

我可以使用

query.multiselect(cb.function("TO_CHAR",String.class,transaction.get("dbdate")) );

但这会以数据库格式返回日期,即

Wed Apr 2 12:20:50 2014

但是如何以特定的日期格式获取此信息

'yyyy-MM-dd'

Mik*_*unu 7

在当前查询中,没有给出格式作为TO_CHAR函数的参数.这就是为什么除了违约之外别无所求.如文档所述,还可以通过CriteriaBuilder.function将多个参数传递给数据库函数:

query.multiselect(
    cb.function("TO_CHAR",
                String.class,transaction.get("dbdate"), 
                cb.literal("yyyy-MM-dd")));
Run Code Online (Sandbox Code Playgroud)