본문 바로가기

반응형

JPA

[Spring Boot] JPA vs mybatis 안녕하세요! 좋은 질문입니다. MyBatis와 JPA를 혼용하여 사용하는 경우는 실제로 존재하며, 두 가지를 함께 사용하는 이유는 각기 다른 장단점을 보완하기 위함입니다. 각각의 특성을 이해하면 왜 혼용해서 사용하는지 더 명확하게 알 수 있습니다.JPA의 장점과 단점장점:객체 지향적 데이터베이스 접근: JPA는 객체 지향 프로그래밍을 지원하여 엔터티를 통해 데이터베이스를 조작합니다.자동화된 CRUD: 기본적인 CRUD(Create, Read, Update, Delete) 작업을 자동으로 처리해주는 기능을 제공합니다.JPQL: 객체 중심의 쿼리를 작성할 수 있는 언어를 제공하여, SQL을 직접 사용하지 않아도 됩니다.캐싱: 1차 및 2차 캐시를 통해 성능을 최적화합니다.단점:복잡한 쿼리의 어려움: 복잡한 .. 더보기
[Spring Boot] jpa n+1 문제 소개 N+1 문제는 데이터베이스 쿼리의 성능 이슈 중 하나로, 특히 Spring Data JPA와 같은 ORM(Object-Relational Mapping) 프레임워크를 사용할 때 발생할 수 있습니다. 이 문제는 관계형 데이터베이스에서 연관된 엔티티를 검색할 때 발생하며, 한 번의 쿼리로 필요한 데이터를 가져오지 않고 추가적인 쿼리를 여러 번 실행하는 상황을 말합니다. 예를 들어, 하나의 Post 엔티티와 여러 개의 Comment 엔티티가 있다고 가정해 봅시다. 예제 @Entity public class Post { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @OneToMany(mappedBy = "post", fe.. 더보기

반응형