Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
관련 이슈 #10
#2 해당이슈 참고
테이블 설계당시 간과하던 사실이 있었음, 지갑 주소를 키로 뒀을시 해당 지갑에 network가 추가되면서 wallet테이블에 network만 다르게 추가되어야 되는데 지갑주소를 PK로 두기때문에 에러가 발생함
또한 nft를 식별하는건 nft의 token 주소가 아닌 token주소와 token_Id임
그래서 내가 해결방법은 wallet(address,networkType) / nft(address,tokenId)를 복합키로 두자라고 생각함
하지만 안타깝게도 r2dbc는 복합키를 지원하지 않는다는거였음
spring-projects/spring-data-relational#574
5년이 지난 아직도 지원을 안한다니 R2DBC를 사용하면서 JPA 찬양만 더 하게됨
댓글에서 dto클래스를 만들어 복합키로 설정해보라는 설명이 나와있어서 복합키를 사용해보려고함
못먹어도 GO 삽질 시작
"SELECT * FROM wallet WHERE address = $1 AND network_type = $2" 실행 후 wallet을 잘 가져오길 기대했지만
객체에 데이터바인딩 안되는 문제가 발생함 ..."not supported xxxxxx"
이렇게 직접 객체매핑을 해줘야된다는 단점이있음
마찬가지로 inser문 ,update문에서도 파라미터를 바인딩해줘서 insert쿼리와 Update쿼리를 작성해줘야된다는 단점이 있었음
복합키 관리에 대한 어려움을느낌..
wallet과 nft는 연관관계 테이블이 많기때문에, 연관관계인 테이블을 insert하려고 할때에도 직접 query를 작성해야됨
4시간동안 삽질 후
결론 : 그냥 PK를 따로두고 필드로 두기로 함
태초의 JDBC로 돌아간 느낌이라 NFT서버에서는 JPA를 사용할까 심히 고민중임