본문 바로가기
728x90

IT 이야기100

[JPA] UUID로 findBy 조회가 안되는 이유 JPA로 user id를 UUID로 설정하는 경우가 종종 있습니다. public class Users { @Id private UUID userId; } 그리고 JPA로 findByUserId(); 메서드로 유저 정보를 검색 쿼리를 던지는 순간 우리는 조회에 실패하고 null 값을 리턴하는 것을 볼 수 있습니다. 한참을.. 삽질하다 원인을 찾았는데 먼저 Hibernate가 mysql에 설정한 데이터 타입을 보겠습니다. binary(255)로 설정되어 있습니다. 그런데 우리가 생성한 UUID 값을 찍어보면 binary(16)인 것을 볼 수 있습니다. 이렇게 되면 Hibernate는 16짜리 binary를 날리는데 mysql은 255를 채워야 하는 경우가 발생합니다. 그럼 우리의 mysql은 빈 공간을 pa.. 2021. 8. 15.
[JPA] Entity의 N:M 관계를 개발하면서 느낀 것 https://techblog.woowahan.com/2595/ Legacy DB의 JPA Entity Mapping (복합키 매핑 편) | 우아한형제들 기술블로그 {{item.name}} 안녕하세요. 우아한형제들에서 배달의민족 서비스의 광고시스템을 개발하고 있습니다. 시스템을 점진적으로 Spring Boot / JPA 기반으로 이관하면서 경험했던 내용을 공유하고자 합니다. techblog.woowahan.com 사이드 프로젝트를 하면서 다대다 관계에 많은 고민을 하게 되었는데 구글에 검색해보니 많은 분들이 JPA에서 다대다 관계 즉, M:N관계를 설정할때 많은 고민을 하는 것 같습니다. 결론부터 말하자면 M:N, 다대다 관계는 중간에 엔티티를 하나 두는 방식을 사용하는 것을 권장하고 있습니다. 개발자들.. 2021. 8. 10.
springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: JsonObject; 미치는줄 알았습니다. [org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: JsonObject; nested exception is com.fasterxml.jackson.databind.JsonMappingException: JsonObject (through reference chain: com.google.gson.JsonObject["asString"])] 이 에러가 죽을때까지 잡히지 않았습니다. Ajax의 contentType, mthod, dataForm.... 수 많은 방법을 시도해 봤지만 전부 실패했습니다. 혹은 오히려 버그만 더 생겼습니다. 그러다가 머리를 땡.. 하고 스쳐간 ap.. 2021. 8. 8.
[네트워크] DNS (Domain Name System) DNS(Domain Name System) https://ko.wikipedia.org/wiki/%EB%8F%84%EB%A9%94%EC%9D%B8_%EB%84%A4%EC%9E%84_%EC%8B%9C%EC%8A%A4%ED%85%9C 도메인 네임 시스템 - 위키백과, 우리 모두의 백과사전 도메인 네임 시스템(Domain Name System, DNS)은 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발되었다. 특정 컴퓨터(또는 네트워크로 ko.wikipedia.org 우리는 DNS를 DNS가 있어야 www.naver.com, www.google.com에 접속할 수 있다 정도만 알고 있는 경우가 많습니다. 최근 DNS 설정을 안 해줘서 상당히 오랜 시.. 2021. 8. 5.
728x90