카카오 클라우드 교육과정 중 데이터베이스에 대해서 공부하면서 조인 기능과 서브쿼리를 이용해서 내가 원하는 데이터를 조회하는데 있어서 상황에 따라 성능을 최적화할 수 있다는 것을 알게 되었다. 그리고 조인을 사용했을 때와 서브쿼리를 사용했을 때 시간을 비교해보면서 어떻게
이전 글에서는 객체 매핑을 해보는 코드에 대해 알아보았다.이번 글에서는 객체 매핑 완료 후, EntityManagerFactory와 EntityManager 객체를 통해 매핑한 객체를 통해 개발하는 코드를 작성해보자.그리고 매핑 객체를 통해 개발하기 위해서는 크게 세가
이전 글에서는 실습 프로젝트를 다운받아서 JPA를 사용하는 방법에 대해 공부했다.하지만 객체와 테이블을 매핑하는 방법에 대해서는 공부하지 못했다.그리고 JPA를 사용하기 위해서는 객체와 테이블이 정확하게 매핑이 이루어져야한다. 이번 글에서는 객체(자바 클래스)와 테이블
Spring Data JPA에 대해서 공부하던 TransientPropertyValueException 오류에 대해서 정리해보려고한다.총 Orders와 Users 엔티티를 작성했으며, 아래와 같이 코드를 작성했다.Users와 Orders는 1:N 양방향 관계를 가지고
JPA를 공부하는데 객체 지향적인 설계와 코드 재사용성을 높이기 위해 편의 메서드를 작성하던 중 추가적인 select 쿼리가 발생하는 문제를 확인하고 지연로딩 (LAZY)과 즉시로딩 (EAGER)에 대해 정리해보려고한다.우선 FetchType.EAGER 부터 테스트 해
JPA에서 1:N 양방향 관계에서 양쪽 관계 필드에 cacasde=CascadeType.ALL을 적용해서 편의 메서드를 사용했을 때 부모 엔티티와 자식 엔티티에서 모두 객체간 일관성을 유지할 수 있는지 테스트하는데 있어서 detached entity passed to
사이드 프로젝트 진행을 진행하면서 ORM 기술로 QueryDSL을 사용하고 있었다. 그리고 장바구니 목록 삭제 구현 중 QueryDSL은 UPDATE, DELETE 쿼리에 대해서 이슈가 존재한다는 것을 알게되었고 이를 정리해보고자한다.문제의 상황은 장바구니 목록을 삭제