По подразбиране Spring uses jpa.SpringNamingStrategy за генериране на имената на таблиците.
ImprovedNamingStrategy ще преобразува CamelCase към SNAKE_CASE където като EJB3NamingStrategy просто използва името на таблицата непроменено.
Можете да опитате да промените naming_strategy до:
spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategy
или @Column name атрибутът трябва да е с малки букви @Column(name = "firstname")
За Hibernate 5 това трябва да работи (не съм съвсем сигурен дали имате нужда и от горния. Но опитайте и с двете):
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl