본문 바로가기
Spring

Repository

by KDW999 2023. 3. 6.

Repository

ㅡ MVC 디자인 패턴의 Model의 일부?

ㅡ DB의 접근을 담당하는 부분

ㅡ 각종 SQL 및 DB의 테이블 관리

ㅡ Service의 호출에 따라 DB 변환 및 검색 후 결과 반환

 

@Repository

ㅡ 해당 클래스를 Spring Bean으로 생성해주는 어노테이션

ㅡ @Component로 사용되나 해당 클래스가 Repository를 담당한다는 것을 직접적으로 보여주기 위해 사용

 

JpaRepository

ㅡ JpaRepository Interface를 상속

→ JpaRepository<T, ID> : 해당 인터페이스를 상속받은 인터페이스를 JPA Query Creation을 사용할 수 있도록 하는 인터페이스

- T : DB의 테이블을 구현하는 Entity Class

- ID : 해당 Entity Primary Key의 타입

 

@Entity

ㅡ ORM을 사용하기 위해 DB에 상응하는 Entity Class를 작성

ㅡ ORM이 해당 어노테이션으로 작성된 Class를 특정 테이블에 매핑시켜줌

ㅡ @Entity(엔터티명)으로 인자를 넣어 해당 엔터티의 이름 지정 가능

 

@Table

ㅡ 해당 Entity의 이름을 지정하기 위한 어노테이션

ㅡ @Table을  추가하지 않으면 @Entity의 인자로 지정한 이름을 따르며 @Entity로 이름을 지정하지 않을 시 클래스 이름을 테이블 이름으로 간주

 

@id

ㅡ primary key로 사용할 필드 지정

 

@GeneratedValue

ㅡ id 형태의 Primary key를 자동으로 생성해주는 어노테이션

 

@GeneratedGenerator

ㅡ 커스텀 Generator를 사용할 때 사용

 

@Query

ㅡ 원하는 쿼리를 지정

'Spring' 카테고리의 다른 글

Spring 사용 시 어노테이션 정리 + JpaRepository 기본 메서드  (0) 2023.04.04
Entity, DTO, VO, Controller, Service, Repository, GET, POST 등  (0) 2023.03.09
JPA  (0) 2023.03.06
Service  (0) 2023.03.06
Controller / DTO  (0) 2023.03.05

댓글