Secara default Spring uses jpa.SpringNamingStrategy untuk menghasilkan nama tabel.
ImprovedNamingStrategy akan mengonversi CamelCase ke SNAKE_CASE dimana sebagai EJB3NamingStrategy hanya menggunakan nama tabel tidak berubah.
Anda dapat mencoba mengubah naming_strategy ke:
spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategy
atau @Column name atribut harus dalam huruf kecil @Column(name = "firstname")
Untuk Hibernate 5 ini akan berhasil (saya tidak yakin apakah Anda juga membutuhkan yang di atas. Tapi coba dengan keduanya):
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl