일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 3-way handshaking
- 갱신 이상
- Dirty Checking
- MSA
- DB
- 자바
- 정규화
- 낙관적 락
- gatway
- ocp
- 자료구조
- 캐시 오염
- 페이지네이션
- well-know port
- 데이터베이스
- 삭제 이상
- Kotlin
- 네트워크
- JPA
- 비관적 락
- buildSrc
- null
- 스레드 풀
- 삽입 이상
- Redis
- AWS
- HTTP
- java
- Spring
- Kafka
- Today
- Total
728x90
목록
728x90
JPA (4)
어 나 갱수.
JPA를 사용하다 보면 더티 체킹이라는 말을 많이 듣게 됩니다. 대부분의 ORM에서는 기본적으로 CRUD 기능을 제공합니다. JPA에서는 find(조회), persist(저장), remove(삭제)가 있습니다.그러나 변경에 대한 메서드는 제공하지 않습니다. JPA에서 수정에 대한 기능을 제공하기 위해서 더티 체킹이라는 것을 제공해 줍니다. 더티 체킹을 간단하게 말하면 하나의 Transaction안에서 엔티티에 변경사항이 생기면 변경사항을 자동으로 데이터베이스에 반영해 주는 기능입니다. @Transactionaloverride fun execute(updatePasswordRequest: UpdatePasswordRequest) { val accountIdx = accountUtil.getCurre..
ORM이란JPA와 Hibernate에 대해 알아보기 전에 먼저 ORM이라는 개념을 알아보겠습니다.ORM이란 Object Reational Mapping의 약자로, 객체와 관계형 데이터베이스를 매핑해 주는 기술입니다.ORM은 개발자가 직접 sql 쿼리문을 작성하지 않아도 알아서 데이터베이스에 값을 저장해 주고 삭제해 주는 sql 쿼리문을 작성해 줍니다. 예를 들어, Member 테이블의 데이터를 출력하기 위해서 MySQL에서는 SELECT * FROM Member;라는 쿼리를 실행해야 하지만, ORM을 사용하면 Member 테이블과 매핑된 객체를 member라 할때, member.findAll();이라는 메서드로 데이터 조회가 가능합니다.JPA는 이러한 ORM 종류 중 하나입니다.JPA는 기술 명세이다.J..
페이징 처리란?페이징 처리는 한 번에 모든 데이터를 가져오면 시간도 많이 걸리고 데이터베이스에도 무리가 갈 수 있으니 나눠서 데이터를 가져올 수 있도록 하는 것을 의미합니다.우리가 가장 많이 사용하는 웹 사이트 중 하나인 구글도 아래와 같이 페이지네이션 처리를 해두었습니다.기본적인 동작 원리는 조회할 때 얼마큼 조회할지(size), 어디서부터 조회할지(offset)을 정해서 서버에 요청하면 서버가 해당 페이징 조건에 맞게 반환해 줍니다.PagingAndSortingRepository 인터페이스JPA에서는 Pageable 클래스를 이용한다면 간단하게 페이징 처리를 할 수 있습니다.Spring Data JPA의 PagingAndSortRepository 인터페이스는 CrudRepository 인터페이스를 상..
오늘은 즉시 로딩과 지연 로딩에 대해 정리해 보겠습니다. 각각 어떤 상황에서 사용해야 하고 왜 사용해야 하는지 알아보겠습니다. JPA는 데이터를 조회할 때, FetchType으로 즉시로딩(Eager)과 지연로딩(Lazy)가 있습니다. Fetch Type이란 ? Fetch Type이란, JPA에서 하나의 Entity를 조회할 때, 연관관계에 있는 객체들을 어떻게 가져올 것이냐를 나타내는 설정값입니다. JPA는 ORM기술로, 사용자가 직접 쿼리문으로 쿼리를 생성하지 않고, JPA에서 JPQL을 이용해서 쿼리를 생성해 줍니다. JPA에서 Entity의 필드와 객체를 보고 쿼리문을 생성합니다. 따라서 Entity에 연관관계 매핑이 되어있으면 그 Entity들까지 함께 조회하게 되는데, 그 매핑되어 있는 Enti..