작성
·
228
0
안녕하세요. 강의 정말 잘 들었습니다!
제가 들었던 강의 중에 가장 일목요연하게 말씀을 잘 해주시는 것 같아요 ㅠㅠ
얼마전에 유튜브에서 배민의 마이크로서비스 여행기도 너무 재미있게 잘 보았습니다!
다름이 아니라 querydsl 관련하여 질문이 있어서 문의를 드립니다.
강의 내용과는 조금 다른 부분일 수도 있지만 ㅠㅠ 구글링을 해봐도 답이 나오지 않아, 제가 물어볼 수 있는 곳이 여기밖에 없어서 간절한 마음에 질문을 올립니다....
결론적으로 제가 하고 싶은 건, 여러 DB를 하나의 쿼리로 묶고싶습니다.
테이블이 아닌 데이터베이스가 분리되어있는 형태입니다.
1) jpaQueryFactory에는 하나의 entityManager만 연결해야하나요?
현재 저는 여러개의 DB를 사용하고 있고, 각각의 DB에 대한 config 파일이 별도로 분리되어있는 형태입니다.
public class ADataSourceConfig ...{
...
@Bean(name="AEntityManager")
public LocalContainerENtityManagerFactoryBean entityManager(@Qualifier("ADataSource") DataSource dataSource) {
....
}
@Bean(name="AJpaQueryFactory")
public JPAQueryFactory AJpaQueryFactory(@Qualifier("AEntityManager") EntityManager entityManager){
return new JPAQueryFactory(entityManager);
}
}
...
public class BDataSourceConfig ...{
...
@Bean(name="BEntityManager")
public LocalContainerENtityManagerFactoryBean entityManager(@Qualifier("BDataSource") DataSource dataSource) {
....
}
@Bean(name="BJpaQueryFactory")
public JPAQueryFactory AJpaQueryFactory(@Qualifier("BEntityManager") EntityManager entityManager){
return new JPAQueryFactory(entityManager);
}
}
2) 만일 그렇다면, RepositoryCustom 안에서는 하나의 jpaQueryFactory 밖에 불러올 수 없게 되는 형태가 되는데
여러개의 DB를 하나의 Impl 안에서는 사용을 할 수 없게 되는건가요 ?ㅠ_ㅠ
애초에 구조를 잘못잡은 건지 원래 되지 않는 형태인건지 궁금합니다.
public class ACustomImpl implement Custom{
@Autowired
private JPAQueryFactory queryFactory;
QAEntity a = QAEntity.aEntity; //db a
QBEntity b = QAEntity.bEntity; //db b
@Override
public List<A> getA(){
return queryFactory
.select(a)
.from(a)
.innerJoin(b) ....
}
}
긴 글 읽어주셔서 감사합니다.
감사합니다 :)!