For Spring Boot 2 (checked with 2.2.6.RELEASE) it should be configuration yml file:
spring: jpa: hibernate: naming: physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl So you could have model like:
@Table(name = "tblDepartments") public class Department { @Id @Column(name = "dpID") @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; @NotEmpty @Size(min = 1, max = 25) @Column(name = "dpName", length = 25) private String name; and populate tables at startup with data.sql:
INSERT INTO tblDepartments (dpName) VALUES ('Gryffindor'); INSERT INTO tblDepartments (dpName) VALUES ('Hufflepuff'); Also, found that for PostgreSQL additional step is needed:
@Entity @Table(name = "\"tblEmployees\"") public class Employee { @Id @Column(name = "\"empID\"") @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; @NotEmpty @Size(min = 2, max = 25) @Column(name = "\"empName\"", length = 25) private String name; Otherwise, the namenames at DB will be in lowercase, like tblemployees.