개발로드

☆KDT 2024-04-02★SpringBoot-Maven-JpaRepository 본문

JAVA

☆KDT 2024-04-02★SpringBoot-Maven-JpaRepository

위대한개발자 2024. 4. 2. 17:23

DAO 생성

public interface ItemRepository extends JpaRepository<Item, Long> {



}//end of interface

 

ItemRepository는 Spring Data JPA에서 제공하는 인터페이스인 JpaRepository를 확장한 인터페이스입니다. 이 인터페이스는 데이터베이스와 상호 작용하기 위한 메서드들을 제공합니다.

여기서 JpaRepository는 Spring Data JPA의 리포지토리 인터페이스 중 하나로, 기본적인 CRUD (Create, Read, Update, Delete) 작업을 수행할 수 있는 메서드들을 제공합니다.

JpaRepository 인터페이스를 확장한 ItemRepository는 Item 엔티티와 관련된 CRUD 작업을 수행할 수 있는 메서드들을 상속받게 됩니다. 예를 들어, save() 메서드를 사용하여 새로운 엔티티를 저장하거나 이미 존재하는 엔티티를 업데이트할 수 있습니다. 또한, findById(), findAll(), deleteById() 등의 메서드를 사용하여 엔티티를 조회하거나 삭제할 수 있습니다.

간단히 말해, ItemRepository는 데이터베이스에서 Item 엔티티를 조작하기 위한 메서드를 정의한 인터페이스입니다. Spring Data JPA는 이러한 리포지토리 인터페이스를 구현하는 클래스를 자동으로 생성하여 사용자가 명시적으로 구현할 필요 없이 데이터베이스와의 상호 작용을 쉽게할 수 있도록 지원합니다.

 


<Item, Long>

 

<Item, Long>은 Spring Data JPA의 JpaRepository 인터페이스를 정의할 때 사용되는 제네릭 타입 매개변수입니다. 이 매개변수들은 엔티티 클래스와 해당 엔티티의 기본 키 타입을 지정합니다.

Item: 첫 번째 제네릭 타입 매개변수는 엔티티 클래스를 나타냅니다. 여기서 Item은 데이터베이스 테이블과 매핑되는 JPA 엔티티 클래스를 의미합니다. 이 클래스는 데이터베이스 테이블의 각 레코드에 해당하는 객체를 표현합니다. 예를 들어, Item 클래스는 상품 정보를 저장하는 데이터베이스 테이블과 매핑될 수 있습니다.

Long: 두 번째 제네릭 타입 매개변수는 엔티티의 기본 키 타입을 나타냅니다. 대부분의 경우, 기본 키는 숫자형 타입으로 사용되며, 여기서는 Long 타입이 사용되었습니다. 따라서 이 JpaRepository 인터페이스는 Item 엔티티의 기본 키로 Long 타입을 사용한다는 것을 의미합니다.

즉, <Item, Long>은 JpaRepository 인터페이스를 정의할 때 해당 인터페이스가 다루는 엔티티와 엔티티의 기본 키 타입을 명시하는 것입니다. 이 정보를 통해 Spring Data JPA는 적절한 CRUD (Create, Read, Update, Delete) 작업을 수행하는 메서드들을 자동으로 생성하고 사용자가 엔티티와 관련된 데이터베이스 작업을 간편하게할 수 있도록 지원합니다.


여유가 되신다면 제 GitHub에 오셔서 좋은 코드들을 구경해주세요!

 

https://github.com/gimpo5975?tab=repositories

 

gimpo5975 - Overview

gimpo5975 has 6 repositories available. Follow their code on GitHub.

github.com