Mybatis를 JPA로 변경할때 테이블에 대한 질문입니다.
978
작성한 질문수 8
안녕하세요~ 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 책을 추천합니다.
감사합니다.
0
답변도 감사한데 책추천까지 해주시니 정말 감사합니다.!! 말씀해주신것 처럼 점진적으로 변경하는게 좋을 것 같습니다. 책은 꼭 사서 읽어보겠습니다. 항상 좋은강의 다시 한번 감사드립니다~
실무 조언 관련 질문입니다.
0
39
1
H2데이터베이스 파일 생성
0
48
2
서브쿼리 강의에서 ALL 예시 관련 질문드립니다.
0
49
2
수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?
0
46
1
JPQL 메소드와 락
0
48
1
Delivery @OneToOne
0
55
1
17강 4~5분대 테이블 값 조회가 안됩니다.
0
85
2
UnsupportedOperationException 발생
0
80
3
H2 Database 연결이 안됩니다.
0
87
2
연관관계 매핑 질문드립니다.
0
78
2
h2데이터베이스 실행오류
0
103
2
persistence.xml
0
101
2
양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?
0
76
1
영속성 컨텍스트
0
61
1
JPA 프록시
0
87
1
Native Query와 MyBatis
0
62
1
영속성 컨텍스트는 어떤 메모리에 저장되는건가요?
0
81
1
임베디드 타입 예시 코드 관련 질문
0
110
3
명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요
0
89
3
인텔리제이 패키지 커서 단축키 질문
0
104
2
혹시 현재는 ID 데이터 타입이 String이면 안되나요?
0
134
1
양방향 연관관계 시 연관관계 주인을 설정하는 이유
0
67
1
임베디드 타입과 MappedSuperClass의 차이점이 궁금합니다.
0
95
1
데이터베이스가 초기화되는 것 같아요
1
173
2





