2011-09-22 25 views
2

我正在使用HSQL ver 1.7。有一部分,我有一个像下面这样的HQL交叉连接不能在HSQL中识别

String hql =“from ProductInv prodInv where prodInv.product.id in(:prodList)”;

prodList包含产品ID列表,上述hql将获得prodList中所需产品ID的产品库存。

这个hql被翻译成一个原生的SQL查询与“交叉连接”。当这对我的实际db2,它工作正常。但是我的基于HSQL的单元测试失败了。它说“交叉连接”不是公认的关键字。

回答

6

您需要升级到最新版本的HSQLDB(HSQLDB版本1.7.x至少有7年历史)。

如果您的Hibernate版本是3.6或更高版本,请使用最新的HSQLDB(2.2.8或更高版本)。对于旧版本的Hibernate,请使用1.8.1.3。

+0

我会尝试使用最新版本。 – Sripaul