从1.4版本开始
从1.4开始,因为切换到hibernate5日,命名策略已经更新到
SpringPhysicalNamingStrategy这应该是非常接近
1.3的默认值。
也可以看看:
- spring的命名策略
以前的版本
Spring
Boot提供了
ImprovedNamingStrategy默认的命名策略,该策略使Hibernate搜索
team_id列(从
intteamId字段推断)。由于此列在您的表中不存在,因此是错误的原因。从Hibernate文档中:
一种改进的命名策略,它首选使用嵌入式下划线而不是大小写混合的名称
您有两种选择:
将列名显式提供 为
@Column(name="teamId")
。在早期的Boot版本中曾经有一个bug,现在不再存在。*在Spring Boot属性中 *更改命名策略 ,并告诉它使用
EJB3NamingStrategy
,这不会将camelCase转换为snake_case,而是保持原样。



