@Bean(name = "entityManagerFactory", destroyMethod = "destroy") LocalContainerEntityManagerFactoryBean entityManagerFactoryBean( DataSource dataSource, Environment env) { LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean(); entityManagerFactoryBean.setDataSource(dataSource); entityManagerFactoryBean.setJpaVendorAdapter(new HibernateJpaVendorAdapter()); entityManagerFactoryBean.setPackagesToScan("com.test.mmm.entity"); // added for scanning hbm files ClasspathScanningPersistenceUnitPostProcessor classpathScanningPersistenceUnitPostProcessor = new ClasspathScanningPersistenceUnitPostProcessor("com.test.mmm.entity"); classpathScanningPersistenceUnitPostProcessor.setMappingFileNamePattern("*.hbm.xml"); entityManagerFactoryBean.setPersistenceUnitPostProcessors( classpathScanningPersistenceUnitPostProcessor); Properties properties = new Properties(); properties.put("hibernate.dialect", env.getProperty("hibernate.dialect")); properties.put("hibernate.show_sql", env.getProperty("hibernate.show_sql")); properties.put("hibernate.format_sql", env.getProperty("hibernate.format_sql")); properties.put("hibernate.hbm2ddl.auto", env.getProperty("hibernate.hbm2ddl.auto")); entityManagerFactoryBean.setJpaProperties(properties); return entityManagerFactoryBean; }