본문 바로가기
TIL/Spring

Spring::JPA 사용 시 일부 컬럼값만 가져오기

by DandyU 2023. 2. 14.

JPA를 사용 시 보통 Entity 클래스에 포함된 모든 데이터를 읽어오게 되는데, 일부 컬럼만 가져오고 싶을 때가 있다.

일부 컬럼만 가져오는 방법을 정리한다.

 

아래 정의한 Entity 클래스에서

@Entity
@Table(name = "deal")
public class Deal {

    @Id
    @GeneratedValue
    private Long id;
    
    private String name;
    
    private Integer price;
    
    @OnoToOne(mappedBy = "deal", cascade = CascadeType.ALL)
    private DealExtra dealExtra;

}

 

일부 컬럼만 가져오기 위한 Interface를 아래와 같이 정의한다.

public interface DealMapping {

    Long getId();
    
    String getName();
    
    Integer getPrice();

}

 

레포지토리에 정의한 인터페이스를 아래와 같이 사용하면 인터페이스에 정의한 값만 가져올 수 있다.

public interface DealRepository extends JpaRepository<Deal, Long> {

	List<DealMapping> findAll();
    
}

댓글