[스프링] JPA와 뷰매핑
자바 플랫폼 기반에서 관계형 데이터베이스로의 데이터 접근을 지원하는 API입니다. JPA는 객체-관계 매핑(ORM)을 사용하여 개발자가 간단한 애노테이션으로 데이터베이스와 객체 간의 매핑을 정의할 수 있도록 해줍니다.
JPA와 스프링 프레임워크
뷰매핑
뷰매핑은 JPA를 사용하여 데이터베이스의 데이터를 뷰로 매핑하는 것을 의미합니다. 스프링 프레임워크에서 JPA를 이용한 뷰매핑을 구현하는 방법에 대해 알아보겠습니다.
JPA 엔티티 클래스 생성
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class Product {
@Id
private Long id;
private String name;
private double price;
// getters and setters
}
위의 코드는 JPA의 엔티티 클래스인 Product를 정의한 예시입니다. @Entity
애노테이션은 해당 클래스가 JPA 엔티티임을 표시하고, @Id
애노테이션은 해당 필드가 엔티티의 식별자(primary key)임을 표시합니다.
스프링 MVC에서 JPA 뷰매핑 설정
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class ProductController {
private final ProductRepository productRepository;
public ProductController(ProductRepository productRepository) {
this.productRepository = productRepository;
}
@GetMapping("/products")
public String listProducts(Model model) {
model.addAttribute("products", productRepository.findAll());
return "products";
}
}
위의 코드는 스프링 MVC에서 JPA 뷰매핑을 설정한 예시입니다. ProductController
클래스는 /products
엔드포인트에 대한 요청을 처리하며, ProductRepository
를 통해 JPA 엔티티를 조회하여 모델에 추가한 후 “products” 뷰로 반환합니다.
이렇게 JPA를 사용하여 뷰매핑을 구현함으로써 스프링 프레임워크에서 데이터베이스와의 연동을 보다 간편하게 처리할 수 있습니다. JPA를 통한 뷰매핑은 개발 생산성과 유지보수성을 향상시키는 데 도움이 됩니다.
참조: