2013-08-20 25 views
-1

我正在将Windows应用程序从Windows迁移到Linux操作系统,在我的应用程序中我已经使用getNamedQuery()来运行一些存储过程,虽然这在Windows上运行良好,在Linux上,我得到一个异常'由于:java.sql.SQLException:无效的列名XXXXX1_155_0_'。错误,是否有人知道任何平台细节错过?getNamedQuery在Linux上运行'无效的列名'在Windows上工作正常

回答

0

您的column nameDB表中,并指定在您的app中不匹配。验证它们。

+0

好的..在这种情况下,我会得到同样的错误在Windows上以及? – user2698825

+0

在Linux上你有另一个'DB',不是吗。 – user2550754

+0

我在存储过程以及应用程序(pojo类)中验证了列名,它们都是同步的。另外,我在错误“XXXX1_155_0_”中得到的列名是随机的,字符串“1_155_0_”正在追加到我的列名中。我检查过,但无法在数据库或应用程序代码中的任何位置找到此列名称。 – user2698825

0

Posting late ....我解决了这个问题,通过删除getNamedQuery API与CallableStatement ..它似乎使用存储过程与定义的复合id定义是迁移到休眠3.6后创建一个问题。不使用复合ID的存储过程似乎工作正常。

不是一个标准的修复...但它的工作暂时。

相关问题