程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> sqlserver中用了user關鍵子出現的問題

sqlserver中用了user關鍵子出現的問題

編輯:關於JAVA
sqlserver中用了user關鍵子出現的問題

將tomcat+struts+hibernate+MySQL的一個小項目移植到sqlserver2000中,發現出現錯誤.

[DEBUG] SessionImpl - opened session

[DEBUG] SessionImpl - Flushed: 0 insertions, 0 updates, 0 deletions to 0 objects

[DEBUG] SessionImpl - Flushed: 0 (re)creations, 0 updates, 0 removals to 0 collections

[DEBUG] QueryTranslator - HQL: select user from com.shjinbang.hibernate.User user

[DEBUG] QueryTranslator - SQL: select user0_.userid as x0_0_ from user user0_

[DEBUG] SessionFactoryImpl - prepared statement get: select user0_.userid as x0_0_ from user user0_

Hibernate: select user0_.userid as x0_0_ from user user0_

[DEBUG] JDBCExceptionReporter - SQL Exception <com.jnetdirect.jsql.JSQLException: 在關鍵字 'user' 附近有語法錯誤。>com.jnetdirect.jsql.JSQLException: 在關鍵字 'user' 附近有語法錯誤。

査google發現sqlserver竟然將user作為關鍵字,不讓用戶建立以user命名的表或字段,除非寫成[user],而MySQL沒有這個情況.
將user改成employees後運行成功.當然,HQL語句中的相關user的名稱也要同時修改.

總結經驗,以後數據庫命名要適當的復雜點,不要和關鍵子撞車.這個問題査了我半天時間

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved