# JPA

5429개의 포스트

2023-05-25

타사 협업에서 스트레스를 많이 받았다.할말하않응대를 너무 열심히 해줘도 탈이다.JPA 매핑 문제로 인한 버그 고침JPA 매핑은 꼭 연관관계의 주인을 기억하자디버깅하면서 발견하게 된 계기는 테스트 코드에서 디버깅을 하는데 INSERT 순서가 이상했다.A객체가 B객체를 들

방금 전
·
0개의 댓글
·

JPA 기본키 매핑

기본키 매핑 어노테이션 @Id @GeneratedValue

약 1시간 전
·
0개의 댓글
·
post-thumbnail

자바 ORM 표준 JPA 프로그래밍 - 영속성 관리

: JPA가 제공하는 기능은 엔티티와 테이블을 매핑하는 설계 부분과 매핑한 엔티티를 실제 사용하는 부분으로 나눌 수 있다. 매핑한 엔티티를 엔티티 매니저를 통해 어떻게 사용하는지 알아보자. 엔티티 매니저는 저장하고, 수정하고, 삭제하고, 조회하는 등 엔티티와 관련된 모

약 3시간 전
·
0개의 댓글
·

[JPA] 프록시 객체

JPA는 지연로딩하는 참조 객체에 대해선 proxy객체를 만들어준다.그리고 참조 객체의 메소드 호출 시 DB에서 참조 객체 데이터를 조회하여 proxy객체가 참조하는 필드에 주입한다.즉 DB조회 이후 참조객체가 entity로 재할당되는 것이 아니라, proxy껍데기는

약 4시간 전
·
0개의 댓글
·

dto를 사용해야 하는 이유

dto가 아닌 엔티티를 사용하면,엔티티 필드를 모두 json으로 노출해야 한다.(이를 @jsonignore로 일시적으론 막을 수 있지만 이를 매번 하기도 어렵고, 프레젠테이션 레이어에 개입하는게 바람직하지 않음(관심사 분리)엔티티 필드 이름을 조금만 바꾸더라도 api

약 9시간 전
·
0개의 댓글
·

[JPA] Fetch Join

Join과 Fetch Join 차이점 Join Fetch Join과 달리 연관 Entity에 Join을 걸어도 실제 쿼리에서 SELECT하는 Entity는 오직 JPQL에서 조회하는 주체가 되는 Entity만 조회하여 영속화 조회의 주체가 되는 Ent

약 10시간 전
·
0개의 댓글
·
post-thumbnail

C R U D

우리가 데이터를 다루는 기본적인 방법엔 아래 네가지가 있다. Create (생성) Read (조회) Update (수정) Delete (삭제) 앞글자를 따서 CRUD 라고 부르며 지난 시간엔 Create 를 해보았다 오늘은 나머지 기능을 완성해보자.Member

약 12시간 전
·
0개의 댓글
·
post-thumbnail

PostMan

PostMan 이란? > API 개발을 보다 빠르고 쉽게 구현할수 있도록 도와준다. 개발된 API 를 테스트하여 문서화 또는 공유 할수 있도록 해주는 플랫폼 수정된 Controller , Service , Repository Controller > Request

약 13시간 전
·
0개의 댓글
·

N+1(지연로딩, 즉시로딩) - JPA

@ManyToOne : FetchType.EAGER@OneToOne : FetchType.EAGER@ManyToMany : FetchType.LAZY@OneToMany : FetchType.LAZY즉시로딩(EAGER)은 일반적으로 연관된 엔티티를 한번에 모두 조회한다

약 24시간 전
·
0개의 댓글
·
post-thumbnail

[JPA] 03. 영속성 관리

객체와 RDS 매핑영속성 컨텍스트: 실제 JPA가 내부에서 어떻게 동작하는가엔티티매니저 팩토리에서 요청이 들어올 때마다 엔티티 매니저를 각각 만들어내고, 만들어진 엔티티 매니저들은 내부적으로 데이터베이스 커넥션을 이용하여 DB를 사용함JPA를 이해하는데 가장 중요한 용

어제
·
0개의 댓글
·
post-thumbnail

JPA N+1 문제

Dog 엔티티를 전체 조회하는 api를 호출하면 Dog 엔티티와 ManyToOne으로 매핑된 Party엔티티도 조회되는 N+1이 발생한다.아래의 실행 로그에 대한 내용은 다음과 같다.한 유저는 반려견을 3마리 등록했다.반려견 한마리는 무조건 Party에 소속되어 있다.

어제
·
0개의 댓글
·
post-thumbnail

Repository

Repository Repository의 역할 에 대해선 이전에 알아보았다. 또 우리는 프로젝트를 생성할때 Spring Data JPA Dependencies 를 추가하였다. 이를 활용하여 간단한 crud 를 만들어보자. Spring Data JPA 란 ? > Spr

2일 전
·
0개의 댓글
·
post-thumbnail

JPA

Java 진영에서 ORM 기술 표준으로 사용하는 인터페이스 모음으로 자바 애플리케이션 에서 관계형 데이터 베이스 (RDBMS) 를 사용하는 방식을 정의한 인터페이스 이며 인터페이스 이기 때문에 구현체가 필요하다.

2일 전
·
0개의 댓글
·
post-thumbnail

JPA의 소중함

JPA가 이미 시장에 자리를 잡고 배우는 저로서는 김영한님이 강조하시는 JPA의 소중함을 제대로 느끼지 못하고 있었습니다. 무언가의 가치를 알고 그것을 효과적으로 사용하기 위해서는 조금 무식한(?) 방법일지라도 어렵게 배우는 것이 좋다고 생각합니다. 따라서 자바 ORM

2일 전
·
0개의 댓글
·

변경감지와 병합 ✨

준영속 엔티티? 데이터베이스에 한번 다녀온,, 즉 식별자가 데이터베이스 안에 있는 경우(ex. 이미 만들어진 게시글 db를 수정할때, 해당 db는 준영속 엔티티) jpa가 식별할 수 있는 Id가 있기 때문에 영속성 컨텍스트가 더이상 관리하지 않음. 준영속 엔티티의 문제? jpa가 더이상 관리하지 않음. 따라서 아무리 값 변경을 시켜도 jpa가 db를 up...

2일 전
·
0개의 댓글
·
post-thumbnail

[Spring Boot JPA] 쇼핑몰 사이트 만들기 - 프로젝트 생성

스프링 부트 : 2.7.11자바 : 11테이블은 간단히 구현 위해 최소한으로 넣었다. 회원과 상품의 다대다 관계를 해결 위해 장바구니 Cart테이블을 넣어줬다. 게시글의 조회수와 회원의 상태도 제출 기한을 봐서 뺄 예정이다. 회원의 권한은 일반회원과 다르게 값을 주어

2일 전
·
0개의 댓글
·

JPA 공통 컬럼 상속 (BaseEntity)

개인 프로젝트 초기 설계를 진행하면서 테이블 생성 및 연관관계 매핑 중에 있다.실무에서는 등록일/수정일 그리고 등록자아이디 혹은 등록자아이피, 수정자아이디 혹은 수정자아이피가 DB에 공통으로 설계가 되기 때문에이렇게 모든 테이블에 들어가야 할 공통 컬럼을 상속을 통해

3일 전
·
0개의 댓글
·
post-thumbnail

상속관계 매핑, @MappedSuperclass

JPA 학습 시리즈 7 - 상속관계 매핑, @MappedSuperclass

3일 전
·
0개의 댓글
·

지연 로딩을 위한 프록시 객체

프록시 객체 > 프록시 객체를 단독으로 로직에 활용하는 경우는 드물지만, 이를 이해하고 있어야 지연 로딩을 원활하게 이해할 수 있으므로 프록시 객체 개념을 이해하고 있는 것은 중요합니다. 프록시 객체는 그 단어의 의미에서 알 수 있듯이, 대리 객체를 의미합니다. A

4일 전
·
0개의 댓글
·