일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- hbase 저장공간 설정
- nGinder
- 월급루팡 일지
- 핀포인트
- fake jwt
- OIDC
- Loki 로그
- reids
- formik
- 플루터
- Ingress Controller Fake
- 애자일 싫타
- jsonMarshaller
- pinpoint
- 티스토리챌린지
- RedirectService
- 개발 어렵당.ㅠ
- 오블완
- 7879
- LPOS
- save/update
- ㅉ때
- R2DBC Paging
- 노드간 통신
- 논블록킹 성능
- jar 배포
- Armeria
- intellij
- pinpoint 2.5.3
- UnsupportedOperationException
- Today
- Total
대머리개발자
JPA - 더티체킹 본문
더티체킹을 한번 언급하긴 했었는데.. 역시 이론적으로 아하... 그렇쿠나.. 아하..그렇쿠나...
하는 것이라 실제 적용해 보는것이랑 천지차이다 ㅋㅋ
1. 게시글을 등록 한다.
2. 채번된 ID를 통해서 Path를 업데이트 한다. (대대대댓글을 위한)
따라서 save -> save를 해야 한다... 띠로링..
Hibernate:
update
Board
set
content=?,
groupId=?,
menuId=?,
modDt=?,
nickname=?,
noticeType=?,
path=?,
regDt=?,
status=?,
title=?,
userId=?
where
id=?
난 Path만 수정하고 싶다규!!
mybatis로 돌아가자... 충분하자나??? 무조건 신 기술이 좋은것이 아니자나~..
더티 체킹을 통해서 굳이 save 다시 호출 하지 않아도 자동으로 된다고 한다. 다시 한번 굳굳s
https://jojoldu.tistory.com/415
더티 체킹 (Dirty Checking)이란?
Spring Data Jpa와 같은 ORM 구현체를 사용하다보면 더티 체킹이란 단어를 종종 듣게 됩니다. 더티 체킹이란 단어를 처음 듣는분들을 몇번 만나게 되어 이번 시간엔 더티 체킹이 무엇인지 알아보겠습
jojoldu.tistory.com
같은 개념도..소처럼 되새김질을 하자..깨달음이...
@DynamicUpdate
기본 설정이 아닌 이유가 다 있다.... 무조건적으로 사용하는 것이 아닌 개똥 철학이 있어야 한다.
남들 다 하니깐 하는 것이 아닌 본인만의 납득할만한 이유가 있자.. ...알고 쓰자!!ㅋ
나의 경우 컬럼의 크기(본문의 내용)가 크기 때문에 성능적 이슈보단 업데이트 할 때 이슈가 더 많을 것으로 판단해서 사용하고자 하는 것이다...
Hibernate:
update
Board
set
path=?
where
id=?
...R2DBC 사용하다 넘어 오니깐. 천국이 따로 없네!!! 쿄쿄
정말 fun 이다 ㅋ
@Transactional
fun create(boardDto:BoardDto): BoardDto? {
if(boardDto.menuId == 0){
throw IllegalArgumentException("menuId is null")
}
var entity = boardRepository.save(modelMapper.map(boardDto, Board::class.java))
entity = if(boardDto.parentId == 0L){
updatePath(entity)
}else{
val parentBoard = get(boardDto.parentId) ?: throw Exception("parentBoard is null")
updatePath(entity, parentBoard.path)
}
return entity.id?.let { get(it) }
}
fun updatePath(board:Board, parentPath:String=""): Board{
board.updatePath(
if("" == parentPath){
String.format("%010d", board.id)
}else{
parentPath + ">" +String.format("%010d", board.id)
}
)
return board
}
'개발이야기 > 자봐' 카테고리의 다른 글
16차 월급루팡의 일지(쉼표,) (1) | 2023.06.05 |
---|---|
인증서버 - 포럼게시판(코틀린) (1) | 2023.05.19 |
NULL 처리 (0) | 2023.04.08 |
ThreadLocal (0) | 2023.04.07 |
Oauth2 Provider(Naver/Kakao/Google) (0) | 2023.03.28 |