我想了解如何配置我的Hibernate與我的MSSQL數據庫及其架構正常工作。MSSQL架構和休眠5.1.0.Final(表未找到)
的問題是,表的驗證過程中,它會記錄(爲每個表):
org.hibernate.tool.schema.extract.internal.InformationExtractorJdbcDatabaseMetaDataImpl
- HHH000262: Table not found SHARED_CONFIGURATION
我調試Hibernate來找出是什麼原因導致這一點,並發現它調用類似:
EXECUTE [mydb]..sp_columns N'SHARED_CONFIGURATION',N'',N'mydb'
請注意,第二個參數是模式名稱,並且傳遞了空字符串。當我試圖對數據庫運行這個查詢時,它返回了空的結果集。但是,當我傳遞'dbo'作爲第二個參數時,結果集不是空的(這意味着Hibernate應該調用它)。
好吧,我好像我需要定義架構。但是,在我的entites註解@Table都設置hibernate.default_schema或設置模式拋出異常:
Schema-validation: missing table [SHARED_CONFIGURATION]
所以現在我想知道什麼是真正的問題。我也想在我的數據庫中設置默認模式但不允許(因爲它不存在或您沒有權限,所以不能更改用戶'sa'),即使使用用戶'sa'本身執行:
ALTER USER sa WITH DEFAULT_SCHEMA = dbo;
請注意,這發生在任何驅動程序(JTDS,官方MS驅動程序..) 有人可以解釋這裏發生了什麼,以及如何「正確」擺脫日誌中的表示即使存在(並且應用程序能夠與數據庫正常運行)?
解決了嗎?我有完全相同的問題。 –
不幸的是我沒有 – d1x