한 엔티티와 연관관계에 있는 객체들을 어떤 방법으로 어느 시점에 가져올 것이냐를 정의한 설정값JPA는 ORM 기술로, 사용자가 직접 쿼리를 생성하지 않고, JPQL을 이용하여 쿼리문을 생성하기 때문에 객체와 필드를 보고 쿼리를 생성따라서, 다른 객체와 연관관계 매핑이
em.find(Member.class , memberId) : JPA가 뭘 어떤 방식으로 조회해야되는지를 알고 있음JPQL 조회 쿼리(select m from Member m) : JPQL 작성 시 JPA는 오직 SQL로 번역해주는 역할만을 하므로 뭘 어떤 방식으로 조
JPA에서의 수정 방법은 두 가지가 있음1\. Dirty Checking(변경 감지)2\. merge()이 둘이 뭐고 차이가 뭔지 하나하나 뜯어보겠다.우선 변경 감지부터 살펴보자JPA는 영속성 컨텍스트에서 관리되는 엔티티에 대한 변경 감지가 가능하다=> 이게 당연한 게
스프링 컨테이너는 트랜잭션 범위의 영속성 컨텍스트 전략을 기본으로 사용즉 트랜잭션 범위와 영속성 컨텍스트의 생존 범위가 같음트랜잭션 시작 => 영속성 컨텍스트 생성트랜잭션 종료 => 영속성 컨텍스트 종료이에 따라 보통 비즈니스 로직을 시작하는 서비스 계층에 @Trans
만약 프록시 객체가 아닌 실제 객체일 경우 이미 자바 애플리케이션에 객체가 생성되어 값이 할당이 되어있으니 영속성 컨텍스트를 비우든 JPA를 내리든 특정 객체를 준영속 상태로 만들든 상관없이 잘만 수행이 되는 것단 실제 객체를 준영속 상태로 만들고 getUsername
자바에서는 상속관계가 존재하지만, DB에선 존재하지 않음그나마 유사한 슈퍼 타입 - 서브 타입의 관계 정도 존재DB에서 지원하는 상속관계 매핑 전략 3가지를 JPA의 @Inheritiance는 지원부모 테이블에 모든 자식 테이블의 칼럼들을 집어 넣는 방식으로 매핑부모
현재 진행하는 웹 프로젝트에서 분류에 따른 체크박스를 구현하고자 함해당 값들은 변경될 일이 없고, contain_food_type이란 한 식당에서 지정된 기본적으로 application.properties에서 spring.jpa.hibernate.ddl-auto=cre
개요 > DB에서 일대다 조회 시 자바에선 중복된 데이터가 조회되며 원치 않는 결과가 나오게 됨 , 이를 차근차근 살펴보자 ※ 참고 : 예시 엔티티(Order , OrderItem) Order.class OrderItem.class 삽입된 데이터 설명 > >

컨트롤러에서 API 응답할 때 조회 또한 “DTO”를 통해 JSON 형태로 매핑이 돼야됨예를 들어 응답할 때 List<Member>와 같이 실제 엔티티를 응답하게 되면 Member과 연관관계에 있는 Order , Item 따위들에 대한 데이터 또한 같이 나가게 됨
VO를 Entity로 승급시킴(Address => AddressEntity) 해당 Entity와 일대다 연관관계 맺음 , 주인 엔티티(1) 쪽에 @JoinColumn을 두었기 때문에 DB에는 다 쪽에 외래 키가 있으므로 update 쿼리가 추가로 나가게 됨
Spring Data JPA는 조회 시 getter로만 정의된 인터페이스로 데이터를 담아주는 문법을 갖고 있음일단 엔티티로 조회하면 불필요한 데이터도 조회돼서 연관관계도 조회돼서 n+1 성능이슈도 발생할 수 있고 성능도 저하됨, 그에 따른 연관관계 필드 조회 시 지연
기존 테이블 싹 밀고 새로 생성개발 초기 DB 갈아엎을때 잠깐 씀즉 운영 환경에선 절대 쓰면 안됨!!애플리케이션 실행 시 자동으로 생성 후 종료되는 시점에 자동으로 DROP테스트 환경에서 유용그래서 테스트와 실 application.properties 혹은 applic
SQL은 하드코딩이므로 컴파일 에러가 안나서 에러 원인 나중에 파악 가능기획 변경 시 일일이 SQL 수정 필요객체지향과 DB간 패러다임 불일치 문제로 인해 객체지향적으로 설계할수록 DB에 매핑하는 비용만 늘어남3-1. 연관관계 SQL로 저장 시 두 연관관계에 각각의 I
DB에서는 외래키로서 각 테이블 간 연관관계가 표현됨외래키는 두 테이블 중 한 군데에만 나타남N:1 관계일 경우 N쪽에 외래키가 위치됨JPA에서는 참조로서 각 객체 간 연관관계가 표현됨객체 그래프 탐색을 통해 각 연관관계에 접근 가능참조는 두 연관관계에서 선언됨즉 두