Por defecto Spring uses jpa.SpringNamingStrategy para generar los nombres de las tablas.
La ImprovedNamingStrategy convertirá CamelCase a SNAKE_CASE donde como EJB3NamingStrategy simplemente usa el nombre de la tabla sin cambios.
Puedes intentar cambiar la naming_strategy a:
spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategy
o el @Column name el atributo debe estar en minúsculas @Column(name = "firstname")
Para Hibernate 5 esto debería funcionar (no estoy muy seguro de si también necesita el anterior. Pero pruébelo con ambos):
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl