작성
·
190
0
올려주신 강의 열심히 보고 있습니다 ^^
실무에서 JPA를 적용하다보니 몇가지 벽을 만나서 문의드려요
1. JPA 에서 multisource 는 어떤식으로 구조를 잡아야 하나요? 예를 들어 read 는 slave, write는 master datasource 로 해야 하는데.. 이게 basepackage 로 같은 entity 들을 잡아도 될지 판단이 안서네요. 현재는 master, slave 로 나눈다음 같은 엔티티 클래스를 복제해서 각 datasource가 자신만의 엔티티를 가지고 있습니다.
2. 특정 datasource 를 생성자 주입으로 처리가 가능한지요?
예를 들어 아래 slaveDataSource 필드에 slave datasource 를 주입하려고 할때 @RequiredArgsConstructor 를 활용해서 하고 싶습니다. datasource 는 master용과 slave용 각각 별도의 Bean으로 등록해 두었습니다.
@RequiredArgsConstructor
public class SlaveDataSourceConfig {
private final JpaProperties jpaProperties;
private final HibernateProperties hibernateProperties;
private final DataSource slaveDataSource;
}
감사합니다.
답변 1
1
안녕하세요. soollung님
질문하신 내용을 읽어보니, 원하시는 것이 완전히 똑같은 엔티티를 사용하는데, 데이터베이스만 write, read로 분리하면 되는 것 아닌지요?
그렇다면 엔티티 설정은 하나로 가져가고, 데이터소스만 상황에 따라서 읽기나 쓰기로 찾아서 사용하면 될 것 같아요.
관련해서 "스프링 데이터 소스 라우팅"을 검색해보시면 다양한 자료를 찾으실 수 있을거에요.
감사합니다.