According to
http://www.hibernate.org/hib_docs/v3/re ... xpressions Hibernate supports any scalar function supported by the database system. However, because Hibernate needs to parse your query it must be well formed with respect to the HQL syntax. 'interval -3 month' is not a valid expression in HQL. So, date_add() is supported but not the MySQL specific expression syntax associated with the second argument. I am not sure if there is a solution other then to use a native query and not HQL. You could try and substitute it as a query parameter.