feat : jpa 설정 수정. cp ep 멀티커넥션 환경 제거

pull/2/head
Kurt92 3 months ago
parent 8d7ac113b7
commit 4b64631609

@ -1,74 +1,74 @@
package egovframework.config.JPAConf;
import com.querydsl.jpa.impl.JPAQueryFactory;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.JpaVendorAdapter;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager;
import org.springframework.transaction.PlatformTransactionManager;
import javax.persistence.EntityManagerFactory;
import javax.sql.DataSource;
import java.util.HashMap;
@Configuration
@EnableJpaRepositories(
basePackages = "go.kr.project.domain.repo.cp", // Clean Parking용 레포지토리 경로
entityManagerFactoryRef = "cpEntityManagerFactory",
transactionManagerRef = "cpTransactionManager"
)
public class CpDbConf {
@Bean
@Primary
@ConfigurationProperties("spring.datasource.cp")
public DataSourceProperties cpDataSourceProperties() {
return new DataSourceProperties();
}
@Bean
@Primary
public DataSource cpDataSource() {
return cpDataSourceProperties().initializeDataSourceBuilder().build();
}
@Bean
@Primary
public LocalContainerEntityManagerFactoryBean cpEntityManagerFactory(@Qualifier("cpEntityManagerFactoryBuilder") EntityManagerFactoryBuilder builder) {
return builder
.dataSource(cpDataSource())
.packages("go.kr.project.domain.entity")
.persistenceUnit("cp")
.build();
}
@Bean(name = "cpEntityManagerFactoryBuilder")
public EntityManagerFactoryBuilder entityManagerFactoryBuilder(
JpaVendorAdapter jpaVendorAdapter,
ObjectProvider<PersistenceUnitManager> persistenceUnitManager
) {
return new EntityManagerFactoryBuilder(jpaVendorAdapter, new HashMap<>(), persistenceUnitManager.getIfAvailable());
}
@Bean(name = "cpJpaTransactionManager")
@Primary
public PlatformTransactionManager cpTransactionManager(
@Qualifier("cpEntityManagerFactory") EntityManagerFactory cpEntityManagerFactory) {
return new JpaTransactionManager(cpEntityManagerFactory);
}
@Bean
@Primary
public JPAQueryFactory cpQueryFactory(@Qualifier("cpEntityManagerFactory") EntityManagerFactory emf) {
return new JPAQueryFactory(emf.createEntityManager());
}
}
//package egovframework.config.JPAConf;
//
//import com.querydsl.jpa.impl.JPAQueryFactory;
//import org.springframework.beans.factory.ObjectProvider;
//import org.springframework.beans.factory.annotation.Qualifier;
//import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
//import org.springframework.boot.context.properties.ConfigurationProperties;
//import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.context.annotation.Primary;
//import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
//import org.springframework.orm.jpa.JpaTransactionManager;
//import org.springframework.orm.jpa.JpaVendorAdapter;
//import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
//import org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager;
//import org.springframework.transaction.PlatformTransactionManager;
//
//import javax.persistence.EntityManagerFactory;
//import javax.sql.DataSource;
//import java.util.HashMap;
//
//@Configuration
//@EnableJpaRepositories(
// basePackages = "go.kr.project.domain.repo.cp", // Clean Parking용 레포지토리 경로
// entityManagerFactoryRef = "cpEntityManagerFactory",
// transactionManagerRef = "cpTransactionManager"
//)
//public class CpDbConf {
//
// @Bean
// @Primary
// @ConfigurationProperties("spring.datasource.cp")
// public DataSourceProperties cpDataSourceProperties() {
// return new DataSourceProperties();
// }
//
// @Bean
// @Primary
// public DataSource cpDataSource() {
// return cpDataSourceProperties().initializeDataSourceBuilder().build();
// }
//
// @Bean
// @Primary
// public LocalContainerEntityManagerFactoryBean cpEntityManagerFactory(@Qualifier("cpEntityManagerFactoryBuilder") EntityManagerFactoryBuilder builder) {
// return builder
// .dataSource(cpDataSource())
// .packages("go.kr.project.domain.entity")
// .persistenceUnit("cp")
// .build();
// }
// @Bean(name = "cpEntityManagerFactoryBuilder")
// public EntityManagerFactoryBuilder entityManagerFactoryBuilder(
// JpaVendorAdapter jpaVendorAdapter,
// ObjectProvider<PersistenceUnitManager> persistenceUnitManager
// ) {
// return new EntityManagerFactoryBuilder(jpaVendorAdapter, new HashMap<>(), persistenceUnitManager.getIfAvailable());
// }
//
//
// @Bean(name = "cpJpaTransactionManager")
// @Primary
// public PlatformTransactionManager cpTransactionManager(
// @Qualifier("cpEntityManagerFactory") EntityManagerFactory cpEntityManagerFactory) {
// return new JpaTransactionManager(cpEntityManagerFactory);
// }
//
// @Bean
// @Primary
// public JPAQueryFactory cpQueryFactory(@Qualifier("cpEntityManagerFactory") EntityManagerFactory emf) {
// return new JPAQueryFactory(emf.createEntityManager());
// }
//}

@ -1,67 +1,67 @@
package egovframework.config.JPAConf;
import com.querydsl.jpa.impl.JPAQueryFactory;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.JpaVendorAdapter;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager;
import org.springframework.transaction.PlatformTransactionManager;
import javax.persistence.EntityManagerFactory;
import javax.sql.DataSource;
import java.util.HashMap;
@Configuration
@EnableJpaRepositories(
basePackages = "go.kr.project.domain.repo.ep", // Electric Parking용 레포지토리 경로
entityManagerFactoryRef = "epEntityManagerFactory",
transactionManagerRef = "epTransactionManager"
)
public class EpDbConf {
@Bean
@ConfigurationProperties("spring.datasource.ep")
public DataSourceProperties epDataSourceProperties() {
return new DataSourceProperties();
}
@Bean
public DataSource epDataSource() {
return epDataSourceProperties().initializeDataSourceBuilder().build();
}
@Bean
public LocalContainerEntityManagerFactoryBean epEntityManagerFactory(@Qualifier("epEntityManagerFactoryBuilder") EntityManagerFactoryBuilder builder) {
return builder
.dataSource(epDataSource())
.packages("go.kr.project.domain.entity")
.persistenceUnit("ep")
.build();
}
@Bean(name = "epEntityManagerFactoryBuilder")
public EntityManagerFactoryBuilder entityManagerFactoryBuilder(
JpaVendorAdapter jpaVendorAdapter,
ObjectProvider<PersistenceUnitManager> persistenceUnitManager
) {
return new EntityManagerFactoryBuilder(jpaVendorAdapter, new HashMap<>(), persistenceUnitManager.getIfAvailable());
}
@Bean(name = "epJpaTransactionManager")
public PlatformTransactionManager epTransactionManager(@Qualifier("epEntityManagerFactory") EntityManagerFactory epEntityManagerFactory) {
return new JpaTransactionManager(epEntityManagerFactory);
}
@Bean
public JPAQueryFactory epQueryFactory(@Qualifier("epEntityManagerFactory") EntityManagerFactory emf) {
return new JPAQueryFactory(emf.createEntityManager());
}
}
//package egovframework.config.JPAConf;
//
//import com.querydsl.jpa.impl.JPAQueryFactory;
//import org.springframework.beans.factory.ObjectProvider;
//import org.springframework.beans.factory.annotation.Qualifier;
//import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
//import org.springframework.boot.context.properties.ConfigurationProperties;
//import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
//import org.springframework.orm.jpa.JpaTransactionManager;
//import org.springframework.orm.jpa.JpaVendorAdapter;
//import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
//import org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager;
//import org.springframework.transaction.PlatformTransactionManager;
//
//import javax.persistence.EntityManagerFactory;
//import javax.sql.DataSource;
//import java.util.HashMap;
//
//@Configuration
//@EnableJpaRepositories(
// basePackages = "go.kr.project.domain.repo.ep", // Electric Parking용 레포지토리 경로
// entityManagerFactoryRef = "epEntityManagerFactory",
// transactionManagerRef = "epTransactionManager"
//)
//public class EpDbConf {
//
// @Bean
// @ConfigurationProperties("spring.datasource.ep")
// public DataSourceProperties epDataSourceProperties() {
// return new DataSourceProperties();
// }
//
// @Bean
// public DataSource epDataSource() {
// return epDataSourceProperties().initializeDataSourceBuilder().build();
// }
//
// @Bean
// public LocalContainerEntityManagerFactoryBean epEntityManagerFactory(@Qualifier("epEntityManagerFactoryBuilder") EntityManagerFactoryBuilder builder) {
// return builder
// .dataSource(epDataSource())
// .packages("go.kr.project.domain.entity")
// .persistenceUnit("ep")
// .build();
// }
//
// @Bean(name = "epEntityManagerFactoryBuilder")
// public EntityManagerFactoryBuilder entityManagerFactoryBuilder(
// JpaVendorAdapter jpaVendorAdapter,
// ObjectProvider<PersistenceUnitManager> persistenceUnitManager
// ) {
// return new EntityManagerFactoryBuilder(jpaVendorAdapter, new HashMap<>(), persistenceUnitManager.getIfAvailable());
// }
//
// @Bean(name = "epJpaTransactionManager")
// public PlatformTransactionManager epTransactionManager(@Qualifier("epEntityManagerFactory") EntityManagerFactory epEntityManagerFactory) {
// return new JpaTransactionManager(epEntityManagerFactory);
// }
// @Bean
// public JPAQueryFactory epQueryFactory(@Qualifier("epEntityManagerFactory") EntityManagerFactory emf) {
// return new JPAQueryFactory(emf.createEntityManager());
// }
//
//}

@ -1,13 +1,25 @@
//package egovframework.config.JPAConf;
//
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.orm.jpa.JpaVendorAdapter;
//import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
//
//@Configuration
//public class JPAConfig {
//
package egovframework.config.JPAConf;
import com.querydsl.jpa.impl.JPAQueryFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.orm.jpa.JpaVendorAdapter;
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
@Configuration
public class JPAConfig {
@PersistenceContext
private EntityManager em;
@Bean
public JPAQueryFactory jpaQueryFactory() {
return new JPAQueryFactory(em);
}
// @Bean
// public JpaVendorAdapter jpaVendorAdapter() {
// HibernateJpaVendorAdapter adapter = new HibernateJpaVendorAdapter();
@ -16,4 +28,4 @@
// adapter.setDatabasePlatform("org.hibernate.dialect.MySQLDialect");
// return adapter;
// }
//}
}

@ -9,36 +9,35 @@ spring:
restart:
enabled: true
datasource:
cp:
driver-class-name: org.mariadb.jdbc.Driver
url: jdbc:mariadb://211.119.124.122:53306/demon_test_cp?useUnicode=true&characterEncoding=utf8
username: root
password: xit5811807
hikari:
maximum-pool-size: 10
minimum-idle: 5
connection-timeout: 30000
idle-timeout: 600000
max-lifetime: 1800000
validation-timeout: 60000 #60초
auto-commit: false
#hikari.connection-test-query 는 JDBC 4.0 이상을 사용하면 설정하지 않는 것을 권장. (공식문서)
#connection-test-query: select 1
driver-class-name: org.mariadb.jdbc.Driver
url: jdbc:mariadb://211.119.124.122:53306/demon_test_cp?useUnicode=true&characterEncoding=utf8
username: root
password: xit5811807
hikari:
maximum-pool-size: 10
minimum-idle: 5
connection-timeout: 30000
idle-timeout: 600000
max-lifetime: 1800000
validation-timeout: 60000 #60초
auto-commit: false
#hikari.connection-test-query 는 JDBC 4.0 이상을 사용하면 설정하지 않는 것을 권장. (공식문서)
#connection-test-query: select 1
ep:
driver-class-name: org.mariadb.jdbc.Driver
url: jdbc:mariadb://211.119.124.122:53306/demon_test_ep?useUnicode=true&characterEncoding=utf8
username: root
password: xit5811807
hikari:
maximum-pool-size: 10
minimum-idle: 5
connection-timeout: 30000
idle-timeout: 600000
max-lifetime: 1800000
validation-timeout: 60000 #60초
#hikari.connection-test-query 는 JDBC 4.0 이상을 사용하면 설정하지 않는 것을 권장. (공식문서)
#connection-test-query: select 1
# ep:
# driver-class-name: org.mariadb.jdbc.Driver
# url: jdbc:mariadb://211.119.124.122:53306/demon_test_ep?useUnicode=true&characterEncoding=utf8
# username: root
# password: xit5811807
# hikari:
# maximum-pool-size: 10
# minimum-idle: 5
# connection-timeout: 30000
# idle-timeout: 600000
# max-lifetime: 1800000
# validation-timeout: 60000 #60초
# #hikari.connection-test-query 는 JDBC 4.0 이상을 사용하면 설정하지 않는 것을 권장. (공식문서)
# #connection-test-query: select 1
jpa:
show-sql: false
hibernate:

Loading…
Cancel
Save