@@ -0,0 +1,1768 @@
+package com.verizon.dispatch.route.config.data;%0A%0Aimport org.hibernate.ejb.HibernatePersistence;%0Aimport org.springframework.context.annotation.Bean;%0Aimport org.springframework.orm.jpa.JpaTransactionManager;%0Aimport org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;%0A%0Aimport com.verizon.cab.management.domain.Album;%0A%0Aimport javax.persistence.EntityManagerFactory;%0Aimport javax.sql.DataSource;%0Aimport java.util.HashMap;%0Aimport java.util.Map;%0A%0Apublic abstract class AbstractJpaRepositoryConfig %7B%0A%0A    @Bean(name = %22entityManagerFactory%22)%0A    public LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource) %7B%0A        return createEntityManagerFactoryBean(dataSource, getHibernateDialect());%0A    %7D%0A%0A    @Bean(name = %22transactionManager%22)%0A    public JpaTransactionManager transactionManager(EntityManagerFactory entityManagerFactory) %7B%0A        return new JpaTransactionManager(entityManagerFactory);%0A    %7D%0A%0A    protected abstract String getHibernateDialect();%0A%0A    protected LocalContainerEntityManagerFactoryBean createEntityManagerFactoryBean(DataSource dataSource, String dialectClassName) %7B%0A        Map%3CString, String%3E properties = new HashMap%3CString, String%3E();%0A        properties.put(org.hibernate.cfg.Environment.HBM2DDL_AUTO, %22update%22);%0A        properties.put(org.hibernate.cfg.Environment.DIALECT, dialectClassName);%0A        properties.put(org.hibernate.cfg.Environment.SHOW_SQL, %22true%22);%0A%0A        LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();%0A        em.setDataSource(dataSource);%0A        em.setPackagesToScan(Album.class.getPackage().getName());%0A        em.setPersistenceProvider(new HibernatePersistence());%0A        em.setJpaPropertyMap(properties);%0A        return em;%0A    %7D%0A%7D%0A

Create AbstractJpaRepositoryConfig.java