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

时间:2012-06-25 05:46:50

标签: mysql hibernate jpa schema catalog

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

那时“模式”是否已经确定,因为它存在于数据库中?

究竟什么是“目录”? JPA目录字段期望什么样的变量/输入?此外,“架构”字段也是同样的问题。

1 个答案:

答案 0 :(得分:21)

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

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