博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
64.JPA命名策略【从零开始学Spring Boot】
阅读量:6070 次
发布时间:2019-06-20

本文共 996 字,大约阅读时间需要 3 分钟。

【从零开始学习Spirng Boot—常见异常汇总】

 

这一章节中有人碰到这样一个问题“导入的数据和我自己生成的表不对应自己生成的表名有下滑杠连接符”。

 

这个问题主要是JPA的命名策略不一致导致的。

我们有这么一个配置:

spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.DefaultNamingStrategy

这里的值有两个可选的配置:

第一:org.hibernate.cfg.ImprovedNamingStrategy

第二:org.hibernate.cfg.DefaultNamingStrategy

以上两个的区别是:

DefaultNamingStrategy这个直接映射,不会做过多的处理(前提没有设置@Table,@Column等属性的时候)。

ImprovedNamingStrategy  表名,字段为小写,当有大写字母的时候会转换为分隔符号“_”。

举个栗子,我们设计了如下实体类:

@Entity

publicclass DemoInfo {

    @Id@GeneratedValue

    privatelongid;

    private String name;

    private String password;

    private String workLocation;

} 

那么当命名策略配置为DefaultNamingStrategy的时候,对应自动生成的表是:

表名:DemoInfo

表字段:

id    bigint

name     varchar

password     varchar

workLocation     varchar

 

当命名策略为ImprovedNamingStrategy  的时候,对应自动生成的表是:

表名:demo_info

表字段:

id    bigint

name     varchar

password     varchar

work_location     varchar

 

当设置了如下设置之后,

@Column(name="work_location")

private String workLocation;

 

那么就以设置的@Column为主。

 

【Spring Boot 系列博客】

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

更多查看博客: 

 

转载于:https://www.cnblogs.com/hehehaha/p/6147074.html

你可能感兴趣的文章
默认虚拟主机设置
查看>>
七周五次课(1月26日)
查看>>
Linux系统一些系统查看指令
查看>>
php中的短标签 太坑人了
查看>>
[译] 可维护的 ETL:使管道更容易支持和扩展的技巧
查看>>
### 继承 ###
查看>>
数组扩展方法之求和
查看>>
astah-professional-7_2_0安装
查看>>
函数是对象-有属性有方法
查看>>
uva 10107 - What is the Median?
查看>>
Linux下基本栈溢出攻击【转】
查看>>
c# 连等算式都在做什么
查看>>
使用c:forEach 控制5个换行
查看>>
java web轻量级开发面试教程摘录,java web面试技巧汇总,如何准备Spring MVC方面的面试...
查看>>
根据调试工具看Vue源码之组件通信(一)
查看>>
Thrift RPC 系列教程(5)—— 接口设计篇:struct & enum设计
查看>>
斯坦福-随机图模型-week1.5
查看>>
灵活的运用Model类
查看>>
hadoop 之分布式安装
查看>>
使用ansible工具部署ceph
查看>>