Database 休眠逻辑名与物理名

Database 休眠逻辑名与物理名,database,hibernate,Database,Hibernate,我只是从Hibernate开始,并参考Hibernate文档以供参考。如中所述: 第一阶段是从域模型映射中确定适当的逻辑名称。逻辑名称可以由用户显式指定(例如使用@Column或@Table),也可以由Hibernate通过隐式NamingStrategy协定隐式确定 第二个是将该逻辑名称解析为物理名称,该物理名称由PhysicalNamingStrategy契约定义 有人能解释一下在JPA/Hiberbnate/DB上下文中,逻辑名和物理名之间的区别吗。 逻辑名称是存储在java/hibern

我只是从Hibernate开始,并参考Hibernate文档以供参考。如中所述:

第一阶段是从域模型映射中确定适当的逻辑名称。逻辑名称可以由用户显式指定(例如使用@Column或@Table),也可以由Hibernate通过隐式NamingStrategy协定隐式确定

第二个是将该逻辑名称解析为物理名称,该物理名称由PhysicalNamingStrategy契约定义

有人能解释一下在JPA/Hiberbnate/DB上下文中,逻辑名和物理名之间的区别吗。

  • 逻辑名称是存储在java/hibernate中的名称
  • 物理名称是数据库中的名称

您能详细说明一下吗?因为我所经历的是,如果我在java代码中使用
@Column
@Table
注释提供逻辑名称,同样的情况也会反映在数据库中(以表/列名的形式)。在哪些用例中可以选择使用不同的物理名称和逻辑名称?您需要实现不同的物理名称和逻辑名称为混淆道歉,我的意思是在什么情况下需要使用不同的物理名称和逻辑名称(引用同一部分):JPA未定义逻辑名称和物理名称之间的分隔。我知道我们可以覆盖链接中的
tophysicallablename
PhysicalNamingStrategyStandardImpl方法:)许多组织围绕数据库对象(表、列、外键等)的命名定义规则。PhysicalNamingStrategy的思想是帮助实现这样的命名规则,而不必通过显式names.ahh将它们硬编码到映射中。错过了。谢谢你,欧文