inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전! 스프링 데이터 JPA

Projections

프로젝션 사용 이유

537

김동훈
0

엔티티 전체를 조회 하는 것이 아닌 이름만 조회하기 위해, 프로젝션을 사용하는것 으로 알고 있습니다.

하지만, 단순 jpa + jqpl로도 이름만 조회가 가능한데, 다음과 같이 구현하면, 내부적 동작방식이 다른지? 여부가 궁금합니다.

 

MemberRepository.java

@Query("select m.name from Member m where m.name = :name")
String findOnlyOneName(@Param("name") String name);

 

MemberRepositoryTest.java

@Test
public void 간단하게_이름만조회() throws Exception{
    //given
    Team team = new Team("teamA");
    teamRepository.save(team);
    Member m1 = new Member("kim1",10,team);
    memberRepository.save(m1);

    em.flush();
    em.clear();

    //when

    String findMemberName = memberRepository.findOnlyOneName("kim1");


    //then

    assertThat(findMemberName).isEqualTo("kim1");

}

 

image.png



java spring spring-boot jpa

답변 1

0

김영한

안녕하세요. 김동훈님

도움을 드리고 싶지만 질문 내용만으로는 답변을 드리기 어렵습니다.

정확히 어떤 점이 궁금하신지 잘 이해가 되지 않습니다.

궁금한 상황 2가지를 나누어 작동하는 예제 코드로 만들어서 올려주시겠어요?

실제 동작하는 전체 프로젝트를 ZIP파일로 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.

구글 드라이브 업로드 방법은 다음을 참고해주세요.

https://bit.ly/3fX6ygx


주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요

 

추가로 다음 내용도 코멘트 부탁드립니다.

1. 문제 영역을 실행할 수 있는 방법

2. 문제가 어떻게 나타나는지에 대한 상세한 설명 (오류 화면, 오류 로그 포함)

링크: 공식 서포터즈

링크: 자주하는 질문

감사합니다.

방산 SW 개발자가 되기 위한 조언을 부탁드립니다!

0

53

0

JAVA로 백엔드 프로젝트

0

55

1

26년1회 실기 합격할수 있을까??ㅠㅠ

0

170

1

자바 실무 단계

0

305

2

진로가 큰 걱정입니다...

0

293

1

MVC 패턴을 정확히 익힐려면 어떻게 해야할까요?

0

352

1

공부 방향

0

315

1

선생님 조언 부탁드립니다.

0

280

0

안녕하세요! 실무와 관련되서 질문드립니다!

0

329

1

함수형 인터페이스 활용

0

355

1

WebFlux를 실무에 적용하기 전에 고민이 있습니다.

0

302

0

코딩테스트 준비

0

466

1