인프런 커뮤니티 질문&답변

nmnnhlba님의 프로필 이미지
nmnnhlba

작성한 질문수

스프링 데이터 JPA

스프링 데이터 JPA 8. Projection

클래스 기반 프로젝션 사용 관련 질문

해결된 질문

작성

·

483

0

안녕하세요.

강의 내용대로 CommentSummary를 클래스 기반 프로젝션으로 그대로 넣어서 했는데 아래와 같은 오류가 나오네요.

 

No converter found capable of converting from type [me.whiteship.demospringdatacommonweb.post.Comment] to type [me.whiteship.demospringdatacommonweb.post.CommentSummary]

org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [me.whiteship.demospringdatacommonweb.post.Comment] to type [me.whiteship.demospringdatacommonweb.post.CommentSummary]

at org.springframework.core.convert.support.GenericConversionService.handleConverterNotFound(GenericConversionService.java:322)

at org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:195)

(중략)

at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)

at java.base/java.lang.Thread.run(Thread.java:829)

 

CommentRepositoryTest > getComment() FAILED

    org.springframework.core.convert.ConverterNotFoundException at CommentRepositoryTest.java:38

 

사실 인터페이스 기반 프로젝션을 사용하면 될 문제이지만,

클래스 기반 프로젝션으로도 정상적으로 동작할거라 봤는데 동작을 안하네요.

Spring 버전이 바뀌면서 클래스 기반 프로젝션을 사용할 수 없게 된걸까요??

 

바쁘시겠지만 확인해주시면 감사하겠습니다.

답변 1

0

백기선님의 프로필 이미지
백기선
지식공유자

안녕하세요.

스프링 데이터 JPA 레퍼런스를 보면 클래스 기반 프로젝션을 지원하고 있다는 걸 알 수 있습니다.

https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#projections.dtos

혹시 다른 형태의 프로젝션은 잘 동작하나요? 가지고 계신 코드로 인터페이스나 다이나믹 프로젝션은 잘 되는지 궁금하네요.

nmnnhlba님의 프로필 이미지
nmnnhlba
질문자

공식 문서를 보면서 클래스 기반 프로젝션에 관한 내용을 좀 더 살펴본 다음에 다시 테스트를 돌려봐야겠네요. 관련 내용을 좀 더 본 다음에 잘 안되거나 궁금한 사항이 있다면 다시 질문드리겠습니다.

인터페이스 기반 프로젝션은 잘 동작합니다.

나중에 구현할 일이 있을 때는 가급적 인터페이스 기반 프로젝션으로 구현하려 합니다.

답변 감사드립니다.

nmnnhlba님의 프로필 이미지
nmnnhlba

작성한 질문수

질문하기