인프런 커뮤니티 질문&답변
클래스 기반 프로젝션 사용 관련 질문
해결된 질문
작성
·
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
혹시 다른 형태의 프로젝션은 잘 동작하나요? 가지고 계신 코드로 인터페이스나 다이나믹 프로젝션은 잘 되는지 궁금하네요.






공식 문서를 보면서 클래스 기반 프로젝션에 관한 내용을 좀 더 살펴본 다음에 다시 테스트를 돌려봐야겠네요. 관련 내용을 좀 더 본 다음에 잘 안되거나 궁금한 사항이 있다면 다시 질문드리겠습니다.
인터페이스 기반 프로젝션은 잘 동작합니다.
나중에 구현할 일이 있을 때는 가급적 인터페이스 기반 프로젝션으로 구현하려 합니다.
답변 감사드립니다.