강의

멘토링

로드맵

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

nmnnhlba님의 프로필 이미지
nmnnhlba

작성한 질문수

스프링 데이터 JPA

스프링 데이터 JPA 8. Projection

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

해결된 질문

작성

·

559

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 버전이 바뀌면서 클래스 기반 프로젝션을 사용할 수 없게 된걸까요??

 

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

퀴즈

Spring Data 프로젝트 구조에 대한 설명 중 가장 올바른 것은 무엇일까요?

Spring Data는 Spring Data Commons와 Spring Data JPA와 무관한 독립 프로젝트입니다.

Spring Data Commons는 공통 기능을 제공하고 Spring Data JPA는 JPA 특정 기능을 추가합니다.

Spring Data Commons는 Spring Data JPA에 종속적인 하위 프로젝트입니다.

Spring Data JPA는 Spring Data Commons의 모든 기능을 포함하고 있습니다.

답변 1

0

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

안녕하세요.

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

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

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

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

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

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

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

답변 감사드립니다.

nmnnhlba님의 프로필 이미지
nmnnhlba

작성한 질문수

질문하기