本次示例的项目中,定义了如下两个实体:
@Data
@Entity
public class Teacher {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(name = "Name")
private String name;
}
@Data
@Entity
@Table(name = "teacher_class")
public class TeacherClass {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private Integer teacherId;
@Column(name = "ClassName")
private String className;
}
先来看看 JPA 默认的命名策略,我们可以显示配置如下:
spring:
datasource:
username: root
password: root
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false
jpa:
database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
show-sql: true
hibernate:
ddl-auto: create
naming:
# 1. 表名及字段全小写下划线分隔命名策略(默认)
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
Hibernate: create table teacher (id integer not null auto_increment, name varchar(255), primary ke