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
- 플루터
- 더티체킹
- formik
- Ingress Controller Fake
- UnsupportedOperationException
- 애자일 싫타
- jsonMarshaller
- nodeSelector
- jar 배포
- 월급루팡 일지
- 스프링Boot 개발환경
- reids
- ㅉ때
- 개발 어렵당.ㅠ
- fake jwt
- pinpoint
- OIDC
- LPOS
- hbase 저장공간 설정
- RedirectService
- Loki 로그
- 노드간 통신
- save/update
- 핀포인트
- intellij
- pinpoint 2.5.3
- nGinder
- Armeria
- R2DBC Paging
- 논블록킹 성능
Archives
- Today
- Total
대머리개발자
[R2DBC] 바인딩 본문
728x90
R2DBC를 계속 JPA 처럼 생각 하는데... 전혀 연관성이 없는 친구다.
기본적으로 PK와 createDate는 DB에서 자동으로 설정한다.
seq bigint primary key auto_increment,
..
createDate datetime default current_timestamp(),
save() 이후 return 받는 T<User> 객체는 DB에서 별도로 설정된 Value가 바인딩이 안 된다....ㅅㅂ
userRepository.save(user)
//.map(User::toProto) //------------(1)
.then(getAndSaveUser(user.getId())) //------------(2)
.onErrorMap(e -> new DefinedException(e.getMessage()));
해서 DTO로 단순 변경(1)이 아니라 DB에서 조회 하는 방법(2)으로 진행 ---> OK
전혀 연광성이 없는 친구지만 혹시 테스트 해보았다. (코틀린 + JPA)
fun save(lottoDto: LottoDto):Lotto{
return lottoRepository.save(modelMapper.map(lottoDto, Lotto::class.java))
}
{
"id": 4,
....
"userId": "abcd",
"regDt": null
}
JPA의 경우도 날짜는 바인딩이 되지 않는다.
But PK(ID) 값은 또 정상 바인딩...
혼돈의 카오스!!!
나름 정리 하자면 객체의 불변성 위한 처리라고 머리를 이해시키고 넘어가자.. 할일이 많으니.ㅠ
최대한 PK(auto_increament)를 제외하고 미리미리 미리뽕 하자.
728x90
'개발이야기 > DataBase' 카테고리의 다른 글
mysql json type (1) | 2024.01.05 |
---|---|
게시판 코드에서...고민s (0) | 2023.10.24 |
R2DBC ...불행의 시작...(2) (0) | 2023.06.09 |
R2DBC ...불행의 시작... (1) | 2023.04.12 |
R2DBC 동적 쿼리는...쥐쥐s (0) | 2023.04.05 |