refactor: 소스정리

dev
Lim Jonguk 3 years ago
parent 31b00d536c
commit edaf2d89e4

@ -34,6 +34,7 @@ import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.transaction.annotation.EnableTransactionManagement;
import javax.persistence.EntityManagerFactory;
import javax.sql.DataSource; import javax.sql.DataSource;
import java.sql.Date; import java.sql.Date;
import java.sql.Time; import java.sql.Time;
@ -56,6 +57,8 @@ import java.util.Map;
sqlSessionFactoryRef = "sqlSessionFactory" sqlSessionFactoryRef = "sqlSessionFactory"
) )
public class DataSourceConfig { public class DataSourceConfig {
@Value("${spring.jpa.properties.hibernate.hbm2ddl.auto}")
String hbm2ddlAuto;
// JPA // JPA
//static final String[] REPO_PACKAGES = new String[]{"com.xit.biz.**.repository", "com.xit.core.**.repository"}; //static final String[] REPO_PACKAGES = new String[]{"com.xit.biz.**.repository", "com.xit.core.**.repository"};
static final String[] ENTITY_PACKAGES = new String[]{"com.xit.biz.**.entity", "com.xit.core.**.entity"}; static final String[] ENTITY_PACKAGES = new String[]{"com.xit.biz.**.entity", "com.xit.core.**.entity"};
@ -88,14 +91,14 @@ public class DataSourceConfig {
} }
@Bean @Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory(@Value("${spring.jpa.properties.hibernate.hbm2ddl.auto}") String hbm2ddlAuto) { public EntityManagerFactory entityManagerFactory() {
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
vendorAdapter.setDatabasePlatform(jpaProperties().getDatabasePlatform()); vendorAdapter.setDatabasePlatform(jpaProperties().getDatabasePlatform());
vendorAdapter.setDatabase(jpaProperties().getDatabase()); vendorAdapter.setDatabase(jpaProperties().getDatabase());
vendorAdapter.setShowSql(jpaProperties().isShowSql()); vendorAdapter.setShowSql(jpaProperties().isShowSql());
HibernateProperties hibernateProperties = new HibernateProperties(); HibernateProperties hibernateProperties = new HibernateProperties();
hibernateProperties.setDdlAuto(hbm2ddlAuto); hibernateProperties.setDdlAuto(this.hbm2ddlAuto);
Map<String, Object> propMap = hibernateProperties.determineHibernateProperties( Map<String, Object> propMap = hibernateProperties.determineHibernateProperties(
jpaProperties().getProperties() jpaProperties().getProperties()
, new HibernateSettings()); , new HibernateSettings());
@ -106,15 +109,17 @@ public class DataSourceConfig {
emf.setPersistenceUnitName("default"); emf.setPersistenceUnitName("default");
emf.setJpaVendorAdapter(vendorAdapter); emf.setJpaVendorAdapter(vendorAdapter);
emf.setJpaPropertyMap(propMap); //jpaProperties().getProperties()); emf.setJpaPropertyMap(propMap); //jpaProperties().getProperties());
emf.afterPropertiesSet();
//emf.getJpaPropertyMap().put(AvailableSettings.BEAN_CONTAINER, new SpringBeanContainer(entityManagerFactory)) //emf.getJpaPropertyMap().put(AvailableSettings.BEAN_CONTAINER, new SpringBeanContainer(entityManagerFactory))
return emf;
return emf.getObject();
} }
@Primary @Primary
@Bean @Bean
public PlatformTransactionManager jpaTransactionManager(LocalContainerEntityManagerFactoryBean entityManagerFactory) { public PlatformTransactionManager jpaTransactionManager() {
JpaTransactionManager transactionManager = new JpaTransactionManager(); JpaTransactionManager transactionManager = new JpaTransactionManager();
transactionManager.setEntityManagerFactory(entityManagerFactory.getObject()); transactionManager.setEntityManagerFactory(entityManagerFactory());
transactionManager.setNestedTransactionAllowed(true); transactionManager.setNestedTransactionAllowed(true);
return transactionManager; return transactionManager;
} }
@ -166,7 +171,7 @@ public class DataSourceConfig {
conf.setMapUnderscoreToCamelCase(true); conf.setMapUnderscoreToCamelCase(true);
conf.setLocalCacheScope(LocalCacheScope.SESSION); // SESSION / STATEMENT conf.setLocalCacheScope(LocalCacheScope.SESSION); // SESSION / STATEMENT
conf.setJdbcTypeForNull(JdbcType.OTHER); // NULL / VARCHAR / OTHER 파라메터에 null 값이 있는경우 처리 conf.setJdbcTypeForNull(JdbcType.OTHER); // NULL / VARCHAR / OTHER 파라메터에 null 값이 있는경우 처리
conf.setLazyLoadTriggerMethods(new HashSet<String>(Arrays.asList("equals", "clone", "hashCode", "toString"))); conf.setLazyLoadTriggerMethods(new HashSet<>(Arrays.asList("equals", "clone", "hashCode", "toString")));
conf.setCallSettersOnNulls(true); // 조회시 null값 필드 set conf.setCallSettersOnNulls(true); // 조회시 null값 필드 set
conf.setAggressiveLazyLoading(true); conf.setAggressiveLazyLoading(true);
conf.setReturnInstanceForEmptyRow(true); conf.setReturnInstanceForEmptyRow(true);

Loading…
Cancel
Save