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();
}
'TIL > Spring' 카테고리의 다른 글
JPA::@Transactional(readOnly = true) (0) | 2023.04.12 |
---|---|
Spring::Spring Boot 3.0 (0) | 2023.01.29 |
[Spring Boot] OAuth2의 Authorization Code Grant Type 처리 중 발생했던 에러 내용 정리 (0) | 2018.12.19 |
댓글