2013-08-20 26 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的存儲過程似乎工作正常。

不是一個標準的修復...但它的工作暫時。

相關問題