작성
·
856
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
원하시던 정보여서 도움이 되었으면 좋겠네요 ~
0
안녕하세요. abc9023님^^
결론부터 말씀드리면 레거시 DB를 어떻게 변경하는가에 따라서 다릅니다.
정말 프로젝트를 기획부터 다시 고민하게 되면 전체 테이블을 새로 설계하는 것이 더 나은 선택일 수 있습니다.
그게 아니라면 점진적으로 변경하는 것이 좋은데, 최대한 기존 테이블을 유지하면서 JPA 매핑을 하고, 그래도 도저히 안되는 부분이 있으면 그 부분은 새로 만들고 마이그레이션 하면 됩니다. 이후에 점진적으로 하나씩 발전시켜 나가는 것이지요.
ORM, RDB 점진적 마이그레이션 관련해서 SQL AntiPatterns 책을 추천합니다.
감사합니다.
답변도 감사한데 책추천까지 해주시니 정말 감사합니다.!! 말씀해주신것 처럼 점진적으로 변경하는게 좋을 것 같습니다. 책은 꼭 사서 읽어보겠습니다. 항상 좋은강의 다시 한번 감사드립니다~
이런 영상도 있었네요 ~~ 감사합니다!!