2011年12月8日 星期四

Hibernate 教學 - org.hibernate.exception.SQLGrammarException: could not load an entity

這是小弟我第一次這麼想發文.... 原因有點無言

不過跟大家分享一下  今天在寫 Spring + Hibernate 的範例與文件 資料庫用的是 MySQL

當我在加載一個類別 Order 時發生了以下錯誤


org.springframework.dao.InvalidDataAccessResourceUsageException: could not load an entity: [org.model.Order#1]; SQL [select order0_.orderId as orderId2_0_, order0_.orderTitle as orderTitle2_0_, order0_.orderDate as orderDate2_0_, order0_.orderReceiver as orderRec4_2_0_ from ORDER order0_ where order0_.orderId=?]; nested exception is org.hibernate.exception.SQLGrammarException: could not load an entity: [org.model.Order#1]
at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException


一開始爬文有人說是映射文件與Order類別的關聯可能有寫錯

例如屬性名稱打錯之類的....

但是檢查了老半天都沒錯阿

之後有爬文發現有人料庫用 SQLServer

當它加載它自定的類別 User 時同樣發生與我相同的錯誤

結果它換了個 table name 就好了

所以我也試著將 MySQL 中的 ORDER 這個 table 重新命名為 T_ORDER

並修改映射文件

幹  就好了....

有人知道為什麼嗎 ?

沒有留言:

張貼留言