인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

abc9023님의 프로필 이미지
abc9023

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

Mybatis를 JPA로 변경할때 테이블에 대한 질문입니다.

작성

·

875

0

안녕하세요~ JPA 1타강사 선생님 정말 좋은 수업 잘 듣고있습니다. 


Mybatis로 되어있는 프로젝트를 JPA와 QueryDSL로  힘겹게 하긴 했는데

뭔가 모양만 JPA이지 Mybatis 스럽게(?) 되어서 리팩토링에 대한 고민이 깊어지네요

하면서 좀 고민이 되었던 부분은 수업의 프로젝트들은 보통 @GeneratedValue 를 통해 PK가 들어가지만

아무래도 기존에 있던 스키마 구조를 쓰다보니 PK 때문에 어려움이 많았었습니다. 

ex) 임의지정(@Id만) 사용, 복합키,  A/B 테이블의 pk 필드명이 같아서 연관관계 설정 문제 등등

부분들이 많았는데 궁금한 부분은 보통 이렇게 기존에 쓰던 거를 JPA로 변경할때

실무에서 DB 테이블 관련 부분도 같이 변경하는지가 궁금합니다

감사합니다.

답변 2

1

영한님과 수업에 관련되진 않는거 같지만  남겨주신 키워드(mybatis, jpa)에 부합하여 관련 영상 링크 남깁니다.

https://www.youtube.com/watch?v=XQZY0yN9gz0&ab_channel=NHNCloud

원하시던 정보여서 도움이 되었으면 좋겠네요 ~

abc9023님의 프로필 이미지
abc9023
질문자

이런 영상도 있었네요 ~~ 감사합니다!!

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

좋은 자료 공유 감사합니다. OMG님^^

0

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

안녕하세요. abc9023님^^

결론부터 말씀드리면 레거시 DB를 어떻게 변경하는가에 따라서 다릅니다.

정말 프로젝트를 기획부터 다시 고민하게 되면 전체 테이블을 새로 설계하는 것이 더 나은 선택일 수 있습니다.

그게 아니라면 점진적으로 변경하는 것이 좋은데, 최대한 기존 테이블을 유지하면서 JPA 매핑을 하고, 그래도 도저히 안되는 부분이 있으면 그 부분은 새로 만들고 마이그레이션 하면 됩니다. 이후에 점진적으로 하나씩 발전시켜 나가는 것이지요.

ORM, RDB 점진적 마이그레이션 관련해서 SQL AntiPatterns 책을 추천합니다.

감사합니다.

abc9023님의 프로필 이미지
abc9023
질문자

답변도 감사한데 책추천까지 해주시니 정말 감사합니다.!! 말씀해주신것 처럼 점진적으로 변경하는게 좋을 것 같습니다. 책은 꼭 사서 읽어보겠습니다. 항상 좋은강의 다시 한번 감사드립니다~

abc9023님의 프로필 이미지
abc9023

작성한 질문수

질문하기