This was previously mentioned in December 2003 in this thread here:
http://forum.hibernate.org/viewtopic.php?t=926173
Basically, the query parser complains about certain common sql functions, particularly those to do with full-text searching. In the example above, the function was mySQL's match() function. In my problem, it is the MS-SQL equivilent, contains(). Both the match() and contains() function take two arguments, which seems to be what the query parser is complaining about. I've even tried adding the contains() method to the SQLServerDialect class, but it is no improvement. Is there a resolution to this?
I'm currently stuck using a raw JDBC query, since I'm only looking up primary keys, and createSQLQuery does not support scalar queries.