[java] 자바 ORM에서의 연관 관계 레이지 로딩 설정
ORM(Object-Relational Mapping)은 객체와 관계형 데이터베이스 간의 매핑을 간편하게 해주는 기술이다. 자바에서 ORM을 사용할 때 중요한 부분 중 하나는 연관 관계의 레이지 로딩(Lazy Loading) 설정이다. 레이지 로딩은 연관된 객체가 실제로 필요한 시점에 로딩되는 방식으로, 많은 데이터를 처리할 때 성능 향상에 도움이 된다.
연관 관계 레이지 로딩 설정하기
자바 ORM 라이브러리인 Hibernate에서는 @OneToMany
나 @ManyToOne
과 같은 어노테이션을 사용하여 연관 관계를 매핑한다. 연관된 객체를 레이지 로딩으로 설정하려면 fetch
속성을 이용해야 한다.
@OneToMany(mappedBy = "parent", fetch = FetchType.LAZY)
private List<Child> children;
위의 코드에서 fetch = FetchType.LAZY
로 설정하면 해당 연관된 객체의 데이터는 실제로 사용되는 시점에 조회된다. 이 설정을 통해 불필요한 데이터베이스 조회를 피하고 성능을 최적화할 수 있다.
프록시와 연관 관계 레이지 로딩
레이지 로딩이 활성화되면 ORM은 프록시를 사용하여 실제 객체를 불러오지 않고, 필요한 시점에서 프록시 객체를 사용한다. 이를 통해 애플리케이션의 성능을 향상시킬 수 있다.
마무리
연관 관계 레이지 로딩은 ORM을 사용하는 애플리케이션의 성능을 향상시키는 중요한 요소이다. 프로젝트에 적합한 레이지 로딩 전략을 선택하고 설정하여 효율적으로 데이터를 관리할 수 있도록 주의하자.
이상으로 자바 ORM에서의 연관 관계 레이지 로딩 설정에 대해 알아보았다.
참고문헌: