return sessionFactory.getCurrentSession().
createQuery(\"FROM Weather WHERE city_id = :id AND date \" +
\"BETWEEN now()::date AND now
I just had this problem, had to use casts, so I tried some stuff to make it work. Turns out you escape : in hibernate with \
However, in java, to print \ to begin with, you have to escape it with \.
So, if you want to put a : in your SQL hibernate query, you have to write it like: \\:
And if you wanted to cast in PostgreSQL, such as in my case, you would have to, for example: field\\:\\:int if you wanted to cast some field as an integer.