什么是JPA @Table注释"目录"和"架构"变量用于?

Sam*_*vin 18 mysql schema hibernate jpa catalog

为什么这些重要,它们对手头的数据库有什么影响?

是不是"架构"已经在那时决定,因为它存在于数据库中?

什么是"目录"?JPA目录字段期望什么样的变量/输入?此外,"架构"字段的问题相同.

jpk*_*ing 24

目录和模式是您在数据库的服务器端定义的"名称空间".有些数据库包含模式,有些包含目录,有些包含两者.使用特定用户登录时,某些数据库会将架构/目录默认为用户的命名空间,从而导致该表对其他用户不可见,因此需要使用"公共"命名空间.因此,根据您用来备份数据的数据库,您可能希望忽略这些设置.

对于MySQL,您可能希望忽略这些设置.这是因为JDBC URL的"数据库"部分(最后一个斜杠之后的那个)指向数据库名称,它在语义上与模式相同(对于MySQL).

  • 只是为了完成图片:在MySQL模式中不支持,并且目录映射到数据库. (7认同)
  • 我确定是的.至少这是JDBC驱动程序所说的.`DatabaseMetaData.getCatalogTerm()`返回"Database",`DatabaseMetaData.getSchemaTerm()`返回null.各种`supportsSchemaInXXX()`方法都返回false,`supportsCatalogInXXX()`都返回true. (5认同)