2013-12-19 23 views
0

我有兩張表,我想用hibernate連接。在我的模型中表示的連接列是一個String(它是我的數據庫中的一個varchar(10))。當我運行HQL查詢時,我看到的是以下錯誤:「將varchar值」AS00「轉換爲數據類型int時轉換失敗。」AS500「是第一行中連接列的第一個值。我不知道爲什麼hibernate是這樣做的,我的連接列不是int,我檢查了與我的表對應的兩個模型,它們都被定義爲字符串。是否有可用於數據類型的某種限制聯接列?當連接列爲Hibernate時發生錯誤String

+1

是否已打開SQL跟蹤,看看本地的SQL調用是什麼樣子?你能顯示你的代碼嗎? – OldProgrammer

回答

1

請張貼既模型和HQL查詢。

如果我不得不採取猜測(而這一切我們任何人都可以在沒有具體做),我會說,你的HQL查詢不使用.setParameter並且它在查詢中的字符串值周圍沒有單引號......所以它試圖隱式地將該值轉換爲int。

例,將導致此錯誤:

Query query = session.createQuery("from Person where name = bob"); 
相關問題