无法在H2数据库中使用加入



我在使用H2(1.3.168)作为本地数据库时通过Java Hibernate执行某些查询时遇到了一个奇怪的问题。似乎冬眠试图执行一系列选择的语句,但一个错误的错误失败了。

日志文件报告说,一些确实成功执行的选择语句只有一个参与表,例如从t1中选择...;

但是,当它到达语句中的简单左外联机语句时,它会产生以下错误:

General error: "java.lang.NoClassDefFoundError: org/h2/table/TableFilter$2" [50000-168]

我采用了Hibernate报告的完全相同的查询,并试图直接在H2控制台中执行它。同样的错误。

我用简单的联接替换了左外连接,同样的错误。我从联接中删除了第二个表,只从第一张表中选择,它就可以很好地选择。对于第二个表,也没有问题,没有问题,例如

SELECT * FROM T1;

尝试了一些其他与联接的表...错误再次出现。

SELECT * FROM T1 t1 JOIN T2 t2 ON t1.pk_id = t2.fk_id;

有人知道H2的问题是什么?

当应用程序在开始时执行应用程序时,问题是drop-recreate脚本中的一个丢失的序列对象(与Hibernate/Spring无关)。在H2中分别运行脚本,并将其与另一组创建/删除语句进行了比较,以找出后者有效,但不从前。

H2由于此而完全崩溃,并且不允许使用JOIN的陈述在没有JOIN的简单查询时被执行。

相关内容

  • 没有找到相关文章

最新更新