2

I am using Spring-JPA, H2 and EclipseLink Java config (i.e. no xml) and want to achieve with camel case translation for table/column names. For example, I want to @Entity MyTable to translate into MY_TABLE.

I have seen an example: CamelCaseSessionCustomizer.java, but am unaware how I would add it to my @Configuration class, an excerpt of which is below.

@ComponentScan(
        basePackages = { "com.foo.*" },
        excludeFilters = @Filter(type = FilterType.ANNOTATION,
        value = Configuration.class))
@Configuration
@EnableJpaRepositories(basePackages = "com.foo")
public class SeleniumAppTestConfig implements InitializingBean {

   @Bean
   public DataSource dataSource() {
     EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
     return builder.setType(EmbeddedDatabaseType.H2)
           .addScript("SeleniumCreateScript.sql")
           .build();
   }

   @Bean
   public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
      EclipseLinkJpaVendorAdapter vendorAdapter = new EclipseLinkJpaVendorAdapter();
      vendorAdapter.setGenerateDdl(true);
      vendorAdapter.setShowSql(true);

       LocalContainerEntityManagerFactoryBean emf =
           new LocalContainerEntityManagerFactoryBean();
       emf.setLoadTimeWeaver(new SimpleLoadTimeWeaver());
       final PersistenceProvider persistenceProvider = new PersistenceProvider();
       emf.setPersistenceProvider(persistenceProvider);
       emf.setPersistenceUnitName("SeleniumTests");
       emf.setJpaVendorAdapter(vendorAdapter);
       emf.setDataSource(dataSource());
       emf.setPackagesToScan("com.foo");
       return emf;
   }

   @Bean
   public EclipseLinkJpaDialect exceptionTranslator() {
       return new EclipseLinkJpaDialect();
   }

}
Jens Schauder
  • 77,657
  • 34
  • 181
  • 348
Robert Mark Bram
  • 8,104
  • 8
  • 52
  • 73

0 Answers0