반응형
[Spring boot] JPA 연관 관계 정리(단/양방향, 연관 관계 주인, 연관 관계의 종류)
Back-end 2021. 12. 3. 16:19

JPA에서 중요한 것 객체 관계 매핑(ORM)에서 가장 어려운 부분이자 가장 중요한 것을 뽑자면, "객체와 관계형 데이터베이스 테이블이 어떻게 매핑할지" 이다. JPA 목적이 객체 지향 프로그래밍과 데이터베이스 사이의 패러다임 불일치를 해결이라는 것과 직접적인 연관이 있기 때문이다. 연관 관계를 매핑할 때 다음 3가지를 잘 고려해야 한다. 방향 단방향 : 회원, 팀 관계에서 회원 -> 팀 또는 팀 -> 회원 한 쪽으로만 참조한다면 단방향 양방향 : 회원 -> 팀, 팀 -> 회원 양쪽에서 서로를 참조하고 있을 때 양방향 ( 이렇게 서로를 참조하는 양방향 관계는 객체에서만 존재하고, 테이블은 회원 팀 으로 항상 양방향이다! 객체에서의 양방향은 즉... 단방향 2개 관계인 것이나 마찬가지) DB 테이블은 외래..

[Spring Data JPA] JPA(Java Persistence API)란?
Back-end 2021. 11. 15. 20:59

JPA란? JPA(Java Persistence API)는 자바 진영의 ORM 기술 표준으로 사용되는 인터페이스의 모음이다. 즉, 실제적으로 구현된 것이 아니라 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임 워크이다. ORM에 대해 잠깐 짚고 넘어가기 ORM(Object-Relational Mapping)은 객체(애플리케이션 Class)와 관계형 DB를 매핑한다는 뜻이다. 기술적으로는 애플리케이션의 객체를 RDB 테이블에 자동으로 영속화 해주는 것이라고 보면 된다. 영속화 : 어떤 데이터를 영구적으로 저장하게 해주는 것 ORM 장점 SQL문이 아닌 Method를 통해 DB를 조작할 수 있어, 개발자는 객체 모델을 이용하여 비즈니스 로직을 구성하는데만 집중할 수 있다. (내부적으로는 쿼리를 생성하여 ..

반응형