单引号内的HQL .setParameter

时间:2014-11-27 22:41:14

标签: java sql hibernate postgresql hql

我有一个HQL查询:

select
  date_trunc('day', s.date),
  sum(s.price)
from Sale as s
group by date_trunc('day', s.date)

现在我尝试参数化分区间隔('day'):

String interval = "'month'"
createQuery("select date_trunc(:partitionBy, s.date) from Sale as s group by date_trunc(:partitionBy, s.date)")
.setParameter("seller", seller)
.setParameter("partitionBy", interval)

它不起作用。

如何在单引号内传递String参数?

我使用PostgreSQL 9.3。

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

String interval = "month";
...
date_trunc('''' || :partitionBy || '''', s.date)

(两个单引号是单引号的转义序列,||是连接运算符)

但我认为你根本不需要单引号。