org.hibernate.MappingException: No Dialect mapping for JDBC type: -1

我採用的是mysql數據庫,sql語句如下:

 select sc.id,sce.title,sc.publishTime,channel.channelPath,sce.author,sce.origin,sce.originUrl,sce.description,sct.txt  from sitenav_content sc,sitenav_channel channel,sitenav_content_ext sce,sitenav_content_txt sct  where sc.channelId=channel.id and sc.id=sce.contentId and sc.id=sct.contentId and sc.id=10038

這句sql直接在mysql的客戶端執行是沒任何問題的,但是在程序執行就會拋出如下錯誤:

 

反複分析其原因,可能是查詢的某個數據類型,普通的sql語句不支持。sct.txt這個字段是longtext類型的,應該是mysql數據庫特有的字段類型,用普通的sql去查詢就會報以上錯誤。

於是我就刪除該字段,查詢就可以成功執行。

所以,建議某些特殊字段類型的字段,指定數據庫的方言後,就用hibernate的HQL去查詢,這樣就可以避免這類錯誤。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章