博为峰JavaEE技术文章 —— Hibernate域模型(3)物理命名策略

今天小博老师继续带领大家学习域模型命名的物理命名策略。许多组织定义关于数据库对象(表,列,外键等)的命名。物理命名策略是帮助实现这样的命名规则,而不必将显式名称硬编码到映射中。

隐式命名策略的目的是确定在没有明确指定的情况下把属性名与列明对应起来,比如:把名为accountNumber的属性映射到逻辑列名称accountNumber。物理命名策略的目的是使用更为简洁命名规则。比如,accountNumber使用物理命名规则时,物理列名称应该缩写为acct_num。

的确,acct_num的定义可以在隐式命名策略中处理。但问题应该分开来看,不管属性是否显式指定列名称或是否隐式确定都可以应用物理命名策略。如果未给出显式名称,则应该使用隐式命名策略。至于如何选择取决于需求和意图。

默认是将逻辑名作为物理名称。然而,应用程序可以定义自定义实现Physicalnamingstrategy。下面是PhysicalNamingStrategy例子:

l使用下划线而不是骆驼命名法

l用标准缩写代替某些单词

有多种方法来指定要使用的PhysicalNamingStrategy。 首先,应用程序可以使用hibernate.physical_naming_strategy配置设置来指定实现:

l引用实现org.hibernate.boot.model.naming.PhysicalNamingStrategy的类

l实现org.hibernate.boot.model.naming.PhysicalNamingStrategy类

其次,应用程序和集成可以利用org.hibernate.boot.MetadataBuilder#applyPhysicalNamingStrategy。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容