JPA
persistence.xml 없이 EntityManagerFactory 설정하기
codinglog
2021. 12. 6. 11:25
persistence.xml 없이 자바로 속성 설정해서 사용하려면
@Bean
public EntityManagerFactory entityManagerFactoryForMysql(DataSource dataSource) {
final Properties properties = new Properties();
properties.put( "hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect" ); // MySql5x 쓴다면
properties.put( "hibernate.user_sql_comments", "true" );
properties.put( "hibernate.format_sql", "true" );
properties.put( "hibernate.hbm2ddl.auto", "create" );
properties.put( "hibernate.physical_naming_strategy", "[물리이름전략개체]" );
final LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
entityManagerFactoryBean.setDataSource(dataSource);
entityManagerFactoryBean.setPersistenceUnitName("[유닛이름]");
entityManagerFactoryBean.setJpaVendorAdapter(new HibernateJpaVendorAdapter());
entityManagerFactoryBean.setJpaProperties(properties);
entityManagerFactoryBean.setPackagesToScan("[엔티티스캔할 패키지]");
entityManagerFactoryBean.setPersistenceProviderClass(HibernatePersistenceProvider.class);
entityManagerFactoryBean.afterPropertiesSet(); // 모든 설정정보 set 후 꼭 호출해야함 !!
return entityManagerFactoryBean.getObject();
}
반응형