Postgresql 如何在hibernate查询中使用日期部分?

Postgresql 如何在hibernate查询中使用日期部分?,postgresql,hibernate,Postgresql,Hibernate,如果我包括::date,hibernate会抱怨,因为:与参数冲突,但如果我不包括,postgres会抱怨无法选择最佳候选函数。您可能需要添加显式类型转换。我能做什么? 按照规定,如果底层数据库支持提取功能,则提取功能应工作,因此: String q = "select id from Calendar c " + "where c.isActive = 1 and " + "date_part('dow', '2017-09-19 13:23:23'::date) = c.fr

如果我包括
::date
,hibernate会抱怨,因为
与参数冲突,但如果我不包括,postgres会抱怨<代码>无法选择最佳候选函数。您可能需要添加显式类型转换。我能做什么?

按照规定,如果底层数据库支持提取功能,则提取功能应工作,因此:

String q = "select id from Calendar c " +
    "where c.isActive = 1 and " +
    "date_part('dow', '2017-09-19 13:23:23'::date) = c.frequencyValue)";
Query query = em.createQuery(q);
List results = query.getResultList();
应该有效

 extract(dow from date '2017-09-19 13:23:23');