title: Hibernate doesn't map column name in entity as per default naming scheme
body: <p>As per my knowledge, Hibernate (or Spring maybe) should map <em>camel case</em> to <em>snake case</em> (with underscores) by default.</p>
  <p>But it doesn't work here.</p>
  <h3>My Entity snippet</h3>
  <pre><code>@Entity(name = &quot;asset_version_dependency&quot;)
  public class AssetVersionDependency {
     
      @Column(name = &quot;optional_ind&quot;)
      private Boolean optionalInd;
  }
  </code></pre>
  <h3>Issue</h3>
  <p>If I remove <code>name</code> then I will get following error:</p>
  <blockquote>
  <p>Invalid column name 'optionalInd'</p>
  </blockquote>
  <p>Hibernate doesn't map column name in the entity as per default naming scheme.</p>
  <h3>My properties</h3>
  <p>In Spring's <code>application.properties</code> I am not using anything special:</p>
  <pre><code>sai.datasource.jdbcUrl=(someting)
  sai.datasource.username=(someting)
  sai.datasource.password=(someting)
  sai.datasource.driverClassName=net.sourceforge.jtds.jdbc.Driver
  sai.datasource.hikari.connection-test-query=SELECT 1
  sai.jpa.hibernate.ddl-auto=none
  server.port=8081
  </code></pre>
  <h3>Entity manager</h3>
  <pre><code>import com.zaxxer.hikari.HikariDataSource;
  import org.springframework.beans.factory.annotation.Qualifier;
  import org.springframework.boot.context.properties.ConfigurationProperties;
  import org.springframework.boot.jdbc.DataSourceBuilder;
  import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
  import org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy;
  import org.springframework.context.annotation.Bean;
  import org.springframework.context.annotation.Configuration;
  import org.springframework.context.annotation.Primary;
  import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
  import org.springframework.lang.NonNull;
  import org.springframework.orm.jpa.JpaTransactionManager;
  import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
  import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
  import org.springframework.transaction.PlatformTransactionManager;
  
  import javax.persistence.EntityManagerFactory;
  import javax.sql.DataSource;
  import java.util.HashMap;
  import java.util.Map;
  
  @Configuration
  @EnableJpaRepositories(
          entityManagerFactoryRef = &quot;saiEntityManager&quot;,
          transactionManagerRef = &quot;saiTransactionManager&quot;)
  public class DataSourceConfiguration {
  
      @Bean
      @ConfigurationProperties(prefix = &quot;sai.datasource&quot;)
      public DataSource dataSource() {
          HikariDataSource ds = (HikariDataSource) DataSourceBuilder.create().build();
          ds.setConnectionTestQuery(&quot;SELECT 1&quot;);
          return ds;
      }
  
      @Bean(&quot;saiEntityManager&quot;)
      public LocalContainerEntityManagerFactoryBean productEntityManager() {
          final LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
          em.setDataSource(dataSource());
  
          em.setPackagesToScan(&quot;com.example.persistence.entity&quot;);
          final HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
          em.setJpaVendorAdapter(vendorAdapter);
          em.setJpaPropertyMap(properties());
  
          return em;
      }
  
      @Bean(&quot;jpaPropertyMap&quot;)
      @ConfigurationProperties(prefix = &quot;sai.datasource.jpa&quot;)
      @NonNull
      public Map&lt;String, String&gt; properties() {
          return new HashMap&lt;&gt;();
      }
  
      @Bean(&quot;saiTransactionManager&quot;)
      @Primary
      @NonNull
      public PlatformTransactionManager saiTransactionManager(
              @Qualifier(&quot;saiEntityManager&quot;) @NonNull EntityManagerFactory saiEntityManager) {
          return new JpaTransactionManager(saiEntityManager);
      }
  }
  </code></pre>
  <p>What am I missing?</p>