Per impostazione predefinita Spring uses jpa.SpringNamingStrategy per generare i nomi delle tabelle.
La ImprovedNamingStrategy convertirà CamelCase a SNAKE_CASE dove come EJB3NamingStrategy usa solo il nome della tabella invariato.
Puoi provare a cambiare la naming_strategy a:
spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategy
o il @Column name l'attributo deve essere in minuscolo @Column(name = "firstname")
Per Hibernate 5 questo dovrebbe funzionare (non sono del tutto sicuro che tu abbia bisogno anche di quello sopra. Ma provalo con entrambi):
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl