I am using HSQL ver 1.7. There is a part where I have a HQL like the following
String hql = "from ProductInv prodInv where prodInv.product.id in (:prodList)";
prodList contains list of product ids and the above hql is to get product inventories of the required product ids in prodList.
This hql is translated to a native sql query with "cross join". When this works against my actual db2, it works fine. But my unit tests based on HSQL fails. It says "cross join" is not a recognized keyword.
You need to upgrade to one of the latest versions of HSQLDB (HSQLDB Versions 1.7.x are at least 7 years old).
If your version of Hibernate is 3.6 or later, use the latest HSQLDB (2.2.8 or later). For older versions of Hibernate, use 1.8.1.3.
来源:https://stackoverflow.com/questions/7513868/cross-join-not-recognized-in-hsql