12
爲什麼這些很重要,他們對手頭的數據庫有什麼影響?什麼是JPA @Table註釋「目錄」和「模式」變量用於?
不是已經在那個點上已經確定的「模式」,因爲它存在於數據庫中嗎?
究竟是什麼「目錄」? JPA目錄字段期望什麼類型的變量/輸入?此外,「模式」字段的相同問題。
爲什麼這些很重要,他們對手頭的數據庫有什麼影響?什麼是JPA @Table註釋「目錄」和「模式」變量用於?
不是已經在那個點上已經確定的「模式」,因爲它存在於數據庫中嗎?
究竟是什麼「目錄」? JPA目錄字段期望什麼類型的變量/輸入?此外,「模式」字段的相同問題。
目錄和模式是您在數據庫服務器端定義的「名稱空間」。一些數據庫包含模式,一些包含目錄,一些包含兩者。在使用特定用戶登錄時,某些數據庫會將架構/目錄默認爲用戶的名稱空間,導致該表對其他用戶不可見,從而導致需要使用「公用」名稱空間。因此,根據您用於備份數據的數據庫,您可能需要忽略這些設置。
對於MySQL,您可能需要忽略這些設置。這是因爲JDBC URL(最後一個斜槓後面的那個)的「數據庫」部分指向數據庫名稱,這在語義上與模式(用於MySQL)相同。
只是爲了完成圖片:在MySQL架構不支持和目錄映射到數據庫。 –
@a_horse_with_no_name:你確定?我認爲這是相反的。如果你只是用MySQL DDL命令中的「模式」替換「數據庫」,它應該可以工作。 – jpkrohling
我確定是的。至少這就是JDBC驅動程序所說的。 'DatabaseMetaData.getCatalogTerm()'返回「Database」和'DatabaseMetaData.getSchemaTerm()'返回null。各種'supportsSchemaInXXX()'方法都返回false,'supportsCatalogInXXX()'返回true。 –