2024/08/27 2

관계형 데이터베이스에서 중간 테이블의 중요성과 활용 방법

관계형 데이터베이스 설계에서 중요한 개념 중 하나는 다대다(Many-to-Many) 관계를 관리하는 방법입니다. 다대다 관계는 중간 테이블(또는 교차 테이블)을 통해 표현되며, 이를 올바르게 구현하지 않으면 데이터 관리가 어렵고 비효율적이 됩니다. 이번 포스트에서는 중간 테이블의 필요성과 구현 방법을 코드와 함께 설명하겠습니다.1. 중간 테이블을 사용하는 이유관계형 데이터베이스에서 다대다 관계를 직접적으로 표현할 수 없다. 예를 들어, 학생(Student)과 강의(Course) 간의 관계를 생각해보자. 한 학생이 여러 강의를 들을 수 있고, 한 강의에도 여러 학생이 참여할 수 있다. 이 경우, 다대다 관계를 제대로 관리하기 위해서는 Student와 Course 테이블 사이에 중간 테이블이 필요하다.중간 ..

SPRING&BOOT/JPA 2024.08.27

JPA 지연 로딩(Lazy Loading)

JPA 지연 로딩(Lazy Loading)은 데이터베이스에서 필요한 시점까지 관련 엔티티를 로드하지 않는 전략이다. 즉, 연관된 엔티티를 처음부터 전부 가져오는 것이 아니라, 실제로 해당 엔티티에 접근할 때 데이터를 가져오는 방식이다. 이는 성능 최적화와 메모리 효율성을 높이기 위해 사용된다.1. 기본 개념JPA에서 엔티티는 서로 연관 관계를 가질 수 있다. 예를 들어, 회원과 주문이라는 두 엔티티가 있다고 가정하면, 한 회원이 여러 개의 주문을 가질 수 있다. 이 경우, 회원을 조회할 때 관련된 주문 데이터까지 모두 가져오는 것은 비효율적일 수 있다. 지연 로딩은 이런 상황에서 회원 엔티티만 먼저 로드하고, 주문 데이터는 실제로 필요할 때 로드하는 방식이다.2. 지연 로딩 설정지연 로딩은 JPA에서 기..

SPRING&BOOT/JPA 2024.08.27