인프런 커뮤니티 질문&답변

주니어개발자님의 프로필 이미지
주니어개발자

작성한 질문수

스프링 DB 1편 - 데이터 접근 핵심 원리

하나의 DB에 두 개 이상의 ORM Application Server를 붙일 시.

작성

·

502

1

안녕하세요. 강의 내용과는 좀 무관하다고 이야기할 수도 있지만.. 진짜 마땅히 물어볼 데가 없어서 욕 먹을 각오하고 올립니다. 현재 제가 다니는 회사에 nest.js + typeOrm로 붙여진 서버와 DB가 있습니다. 이제 Admin Server를 만들어야 하는데, 저는 이것을 Kotiln + JPA 환경으로 구축할려고 합니다. (같은 DB의 테이블) 이럴 경우, 발생할 문제여지들이 무엇이 있을지 알고 싶습니다.  JPA Entity 만들면, 보통 자동으로 DDL 쿼리를 날려주잖아요. 근데 ORM 툴이 다르다보니, 이럴 경우 entity class를 기존에 존재하는 table 내 칼럼 형식에 맞게끔 다 명시적으로 바꿔줘야 할테고, 만약 칼럼 구조를 변경시켜주는 쿼리를 실행을 했다.  그러면 다른 ORM entity에서 갑자기 이상이 생기는지도 걱정이 되고, 동시성 제어는 어떤 식으로 해야될까 걱정도 되고.. 조언을 주실 수 있나요? 

답변 1

2

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 주니어개발자님

먼저 JPA 기본편 강의를 이후에 들어보시면 아시겠지만, 자동 DDL 쿼리는 로컬 PC에서만 주로 사용하고, 운영 서버에서는 절대로 사용하면 안됩니다. 그러면 DB 스키마 관련 문제는 해결되겠지요?

동시성 제어는 JPA와 무관하게 하나의 DB를 여러 애플리케이션에서 사용하면 자연스럽게 발생하는 문제입니다. 그리고 이런 동시성 제어는 데이터베이스 트랜잭션으로 처리하기 때문에 데이터베이스 트랜잭션만 잘 알고 계신다면 이 부분은 크게 걱정하지 않으셔도 됩니다.

결론적으로 둘을 함께 사용해도 괜찮습니다. 실제 이렇게 사용하는 경우들도 있구요.

다만 제가 걱정되는 점은 주니어개발자님께서 아직 JPA 자체를 깊이있게 이해하지 못하고 있으신 것 같아요. JPA는 데이터를 다루어야 하기 때문에 반드시 깊이있게 이해하고 사용하셔야 합니다.

도움이 되셨길 바래요^^

그리고 죄송하지만 질문 안내에 있는 것 처럼 강의 학습에 관련된 질문을 올려주시길 부탁드립니다.

저도 마음으로는 도움을 드리고 싶지만, 하루에도 수 많은 분들이 질문을 올려주십니다. 그래서 강의 학습과 관련된 질문에 초점을 맞추는 것이 맞다 생각합니다. 다시한번 이해를 부탁드립니다.

감사합니다.

친절한 답변 감사합니다

주니어개발자님의 프로필 이미지
주니어개발자

작성한 질문수

질문하기