# Hibernate 5 物理命名策略类的全限定名
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl 

命名策略配置

其中Naming是一个内部类,Hibernate字段映射策略就是在这里配置的。

根据上面的代码可知,Naming采用下面两个属性:

spring.jpa.hibernate.naming.implicit-strategy= # Hibernate 5 implicit naming strategy fully qualified name.
spring.jpa.hibernate.naming.physical-strategy= # Hibernate 5 physical naming strategy fully qualified name.

(1)、physical-strategy属性的使用

spring.jpa.hibernate.naming.physical-strategy 它有两个值分别可以配置:

  • org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
  • org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy

效果分别如下:

  • org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl效果等同于:hibernate4中的DefaultNamingStrategy这个直接映射,不会做过多的处理(前提没有设置@Table,@Column等属性的时候)。如果有@Column则以@Column为准
  • org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy效果等同于:hibernate4中的ImprovedNamingStrategy 表名,字段为小写,当有大写字母的时候会转换为分隔符号“_”。

参考文章

Spring Boot 学习研究笔记(八) - Spring Data JPA与Hibernate区别及配置_w风雨无阻w的博客-CSDN博客_springdatajpa和hibernate

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐