inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

978

abc9023

작성한 질문수 8

0

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


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

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

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

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

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

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

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

감사합니다.

JPA java

답변 2

1

OMG

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

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

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

0

abc9023

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

0

김영한

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

0

김영한

안녕하세요. abc9023님^^

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

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

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

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

감사합니다.

0

abc9023

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

실무 조언 관련 질문입니다.

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