반응형
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 |
Tags
- 기술공부
- 알고리즘공부
- nestjs공부
- 플러터 개발
- JPA
- 기술면접공부
- Axon framework
- 코테준비
- 자바공부
- 자료구조공부
- querydsl
- 카프카
- 스프링부트공부
- Kafka
- 코테공부
- 스프링
- JPA 공부
- Flutter
- JPA예제
- DDD
- 스프링부트
- 스프링공부
- nestjs
- nestjs스터디
- 플러터 공부
- JPA공부
- 스프링 공부
- K8S
- JPA스터디
- 프로그래머스
Archives
- Today
- Total
DevBoi
[JPA] JPAUpdateClause 사용 본문
반응형
귀찮기도 하지만, 여러개 만드는 것보다 널처리해서 선택적 동적 쿼리를 생성
public Long patchMember(MemberDto tMember) {
JPAUpdateClause clause = queryFactory.update(member);
clause = MemberUpdateClause(clause,tMember);
return clause.execute();
}
JPAUpdateClause MemberUpdateClause(JPAUpdateClause jpaUpdateClause,MemberDto tMember){
if(member.address != null)
jpaUpdateClause.set(member.address,tMember.address());
if(member.birth != null)
jpaUpdateClause.set(member.birth,tMember.birth());
if(member.gender != null)
jpaUpdateClause.set(member.gender,tMember.gender());
if(member.email != null)
jpaUpdateClause.set(member.email,tMember.email());
if(member.introduce != null)
jpaUpdateClause.set(member.introduce,tMember.introduce());
if(member.memberIdImageUrl != null)
jpaUpdateClause.set(member.memberIdImageUrl,tMember.memberIdImageUrl());
if(member.name != null)
jpaUpdateClause.set(member.name,tMember.name());
if(member.status != null)
jpaUpdateClause.set(member.status,tMember.status());
if(member.phone != null)
jpaUpdateClause.set(member.phone,tMember.phone());
if(member.nickname != null)
jpaUpdateClause.set(member.nickname,tMember.nickname());
if(member.nickname != null)
jpaUpdateClause.where(member.memberId.eq(tMember.memberId()));
return jpaUpdateClause;
}
위 보다, 더 좋은 방향도 있긴하지만 직관적인게 때로는 더 편할 때도 있다
무튼 공통 동적 모듈로 뺴서 해당 부분을 사용
반응형
'Develop > [JPA]' 카테고리의 다른 글
[QueryDsl] Spring 3 버전 p6spy 적용 (0) | 2023.09.09 |
---|---|
[JPA] Querydsl & Paging (0) | 2023.09.02 |
[Jpa] Querydsl build Setting (0) | 2023.09.02 |
[JPA] ElementCollection (0) | 2023.08.28 |
[JPA] QueryDsl LeftJoin,SelfJoin (0) | 2023.08.19 |