postgresql的间隔方法的Java查询不起作用

时间:2014-04-16 11:38:14

标签: java postgresql

我正在编写postgresql查询。当我运行查询

"reservatio0_.DATE_ >(NOW() - '60 MINUTES'::INTERVAL)"在pgAdmin上它工作正常,但在java中我得到了

  

QuerySyntaxException,意外令牌:: bla bla

如果我运行此代码

List<Reservation> list = em.createQuery( 
                                    "select r " +
                                    "from Reservation r " +
                                    "where r.group.id=:groupName " +
                                 "  and  r.date >(NOW() - '60 MINUTES'::INTERVAL) " +
                                    "order by r.date asc")
                                    .setParameter("groupName", groupName)
                                    .setParameter("number", number)
                                    .setMaxResults(1)
                                    .getResultList();

2 个答案:

答案 0 :(得分:1)

尝试用:替换冒号运算符(\\:) 这将逃脱这个特殊的角色..

答案 1 :(得分:0)

IIrc你必须把间隔放在金额的前面,如下:

and  r.date >(NOW() - interval '60 minutes')