
원래 기본적으로 Spring data jpa를 쓰게 되면 table 명이나 column에 CamelCase 규칙에 맞게 잘 적어두면 SQL로 변환할 때 알아서 UnderScore로 변환하게 되어 있습니다. 근데 프로젝트를 하면서 보니 작동을 하지 않는 일이 발생했습니다. 어딜 봐도 Naming 전략에 대해 수정한 곳도 없는데 대체 왜...? 심지어 yaml에 직접적으로 설정을 해줘도 동작하지 않았습니다. 한참을 구글링하며 찾아 봤는데 공짜 챗-GPT도 알아내지 못한 것을 구글 AI 요약님이 알려 주셨습니다(사실, 둘 다 공짜인 건 마찬가지긴 한데...). 원인은 아래와 같았습니다. EntityManagerFactory를 따로 설정 했거나 다중 DB 소스 설정을 해두면 문제가 발생 한다는데 정확하게 두 ..
JPA와 Kotlin JDSL을 섞어서 프로젝트를 진행하다 보면 Service 내에 SQL 문법을 작성해야 할 경우가 생깁니다. 물론, 이렇게 진행해도 크게 상관은 없긴 한데 제 생각에 Query 같은 것 들은 모두 Repository 내에 적혔으면 좋겠다는 생각이 들었단 말이죠. 너무 난잡해 보이는 것도 있고 분리가 되었으면 좋겠다는 생각도 들고.. 근데 무작정 Repository 내 Interface에 Kotlin JDSL을 사용한 로직을 작성하고 Method 명을 아무렇게나 작성하면 JPA의 Named Lookup Strategy에 따라서 에러가 발생하게 됩니다. @Query 메소드를 써서 따로 Query를 쓰지 않는 이상 JPA에서는 이건 우리가 만들어줘야 하는 쿼리구나?라고 인식하기 때문에 fi..
한창 또 삽질하고 있는 와중에 R2dbc로 업데이트를 하니 갑자기 CreateDate로 지정한 컬럼에서 update가 일어나는 문제가 발생했습니다. 여러 군데 알아보니 @Column(update=false)를 쓰라는데, 그런 것 따위 해당 Annotation에서 지원해 주지 않는 걸...? ^,^ 일단 꾸역꾸역 원본 데이터 불러와서 set 해주는 걸로 하려고 했는데, 뭔가 약간 그런 기분이랄까요. 깨끗하게 해결되지 않은 찜찜한 느낌.. 그런 느낌이 들어 조금 만 더 찾아보니 아래와 같은 방법이 있었습니다.1234 @JsonIgnore @CreatedDate @InsertOnlyProperty private LocalDateTime createDatetime;cs 위와 같이 @Ins..
이번에 R2dbc를 사용하면서 컬럼에 LocalDatetime 및 LocalDate를 적극적으로 사용하고 있는데, Swagger를 보니 표기가 yyyy-MM-ddTHH:mm:ss.SSS로 나왔습니다. 그냥 흐린 눈하고 저렇게 받으면 되긴 한데, 한국인의 정서라는 게 있지 않겠습니까? yyyy-MM-dd HH:mm:ss로 나오면 좋겠는데.. 해서 한참 찾아보니 @DateTimeFormat을 쓰라는데, 이걸 장인 정신으로 한땀 한땀 다 붙이는 미친 짓은 하고 싶지 않아서 더 알아보니 WebFluxConfigurationSupport를 상속받은 후에 FormattingConversionService를 Override해서 쓰라는데 잘 되는 거 같았는데, 이젠 설정이 엉망진창이 되어서 Swagger도 접속 안되는..
- Total
- Today
- Yesterday