我遇到了一個與hibernate實體和mysql 5.6.16組合有關的奇怪問題。但是,我發現我的解決方案採用了試錯法,但沒有得到它的邏輯。我也沒有得到太多的幫助。hibernate實體與MySQL的奇怪問題5.6.16
我已經開發了與MySQL 22年6月5日Hibernate應用程序和測試在我的Windows系統工作正常一樣。
當我部署相同的應用到我的紅帽Linux服務器的MySQL有5.5.16然後讓下面即使用戶表數據庫中存在錯誤
2016-02-28 00:52:45 WARN SqlExceptionHelper:143 - SQL Error: 1146, SQLState: 42S02
2016-02-28 00:52:45 ERROR SqlExceptionHelper:144 - Table '<dbname>.User' doesn't exist
的抱怨形成,我發現是我的redhat服務器,因爲這得到了由我的日食產生的休眠實體沒有添加@Table(「用戶」),如果表名是「用戶」,但在實體增加@Table(「user_address」)如果表名是具有下劃線(_) 。
還有一個可能性,就是在mysql的紅帽服務器不支持不區分大小寫的表名即休眠生成的查詢是「SELECT * FROM用戶」如果沒有在實體
明確添加@Table(「用戶」)我問題是如何在相同的代碼[不添加@Table(「用戶」)的]工作在我的Windows系統?
背後的任何邏輯?
表名可以是大小寫敏感的,這取決於底層文件系統上的「用戶」)。 '用戶!=用戶' –