troubleshooting
@Column
어노테이션 내 프로퍼티에 backtick 사용시 값을 못읽는 문제
예약어를 컬럼명으로 사용하는 경우 그대로 사용할 수 없으므로 백틱 문자를 포함함.
-
MappingR2dbcConverter#readValue(@Nullable Object value, TypeInformation<?> type)
여기까지 디버깅했으나value
값이null
로 들어옴. -
backtick을 사용하지 않으면 정상 동작하나 DB 예약어일 경우 어노테이션만으로 해결 불가
-
io.r2dbc.spi.Row
에서 값을 가져오지 못하는 이슈
함수 호출 순서
-
MappingR2dbcConverter#read(RelationalPersistentEntity<R> entity, Row row, @Nullable RowMetadata metadata)
-
MappingR2dbcConverter#read(createInstance(Row row, @Nullable RowMetadata rowMetadata, String prefix, RelationalPersistentEntity<S> entity)
-
KotlinClassGeneratingENtityInstantiator#extractInvocationArguments(@Nullable PreferredConstructor<? extends T, P> preferredConstructor, ParameterValueProvider<P> provider)
-
BasicRelationalConverter#getParameterValue(Parameter<T, P> parameter)
-
MappingR2dbcConverter#readValue(@Nullable Object value, TypeInformation<?> type)
-
이 함수에
value
파라미터 값이null
로 들어옴
-
Projection
-
조회시
Entity
객체가 있는데, 이를 사용하면 모든 컬럼을 조회하니 부담이 될 수 있음 -
특정 컬럼만 조회하고 싶다면 프로젝션 인터페이스를 사용