Theo mặc định Spring uses jpa.SpringNamingStrategy để tạo tên bảng.
ImprovedNamingStrategy sẽ chuyển đổi CamelCase thành SNAKE_CASE ở đâu là EJB3NamingStrategy chỉ sử dụng tên bảng không thay đổi.
Bạn có thể thử thay đổi naming_strategy tới:
spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategy
hoặc @Column name thuộc tính phải ở dạng chữ thường @Column(name = "firstname")
Đối với Hibernate 5 cái này sẽ hoạt động (tôi không chắc bạn cũng cần cái ở trên. Nhưng hãy thử nó với cả hai):
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl