Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- transactionaleventlistener
- AWS
- API
- spring
- offsetdatetime
- entity graph
- PAGING
- ECS
- topic생성
- mysql
- producer
- bean
- cd
- mirror maker2
- JPA
- consumer
- CI
- kafka
- K8s
- CodePipeline
- spring kafka
- Spring JPA
- Spring Data JPA
- QueryDSL
- git
- Entity
- Kubernetes
- centos7
- Streams
- Kotlin
Archives
- Today
- Total
Yebali
Spring Data JPA의 도메인 클래스 컨버터 본문
도메인 클래스 컨버터란?
HTTP 파라미터로 넘어온 Entity의 ID(PK)로 Entity객체를 찾아서 바인딩하는 기능이다.
도메인 클래스 컨버터 사용 전
@RestController
@RequiredArgsConstructor
public class MemberController {
private final MemberRepository memberRepository;
@GetMapping("/members/{id}")
public String findMember(@PathVariable("id") Long id) {
Member member = memberRepository.findById(id).get();
return member.getUsername();
}
}
PathVariable로 받은 'id'를 이용해 직접 값을 조회하고 username을 반환한다.
도메인 클래스 컨버터 사용 후
@RestController
@RequiredArgsConstructor
public class MemberController {
private final MemberRepository memberRepository;
@GetMapping("/members/{id}")
public String findMember(@PathVariable("id") Member member) {
return member.getUsername();
}
}
HTTP요청은 회원 'id'를 받지만 중간에 도메인 클래스 컨버터가 동작하여 Member Entity를 반환한다.
도메인 클래스 컨버터도 Repository를 사용해서 Entity를 찾는다.
참고
도메인 클래스 컨버터로 엔티티를 받으면 단순히 조회용으로만 사용해야한다.
트랜잭션이 없는 범위에서 엔티티를 조회했으므로, 엔티티를 변경해도 DB에 반영되지 않는다.
'Spring' 카테고리의 다른 글
Spring JPA Entity에 기본 생성자가 필요한 이유 (0) | 2021.10.11 |
---|---|
Spring Data JPA의 페이징과 정렬 (0) | 2021.10.11 |
Spring Data JPA의 Auditing 기능 (0) | 2021.10.11 |
Spring Data JPA의 사용자 정의 Repository (0) | 2021.10.11 |
Spring Data JPA의 벌크성 수정 쿼리 (0) | 2021.10.11 |