Entity와 Repository차이

김용빈·2022년 8월 11일
0
post-thumbnail

Entity(엔티티)

데이터베이스(Database, DB) 에 쓰일 필드와 여러 엔티티간 연관관계를 정의한다. 데이터베이스는 엑셀처럼 2차원 테이블이라고 생각하면 되는데,
이 테이블에 서비스에서 필요한 정보를 다 저장하고 활용한다.

  • 세로의 열 부분이 Column 이고, 가로의 행 부분이 엔티티 객체가 된다. 이 테이블 전체가 엔티티 이고, 각 1개의 행들이 엔티티 객체가 되는 것이라고 생각하면 된다
  • 필드라는 것은 엔티티의 각 Column을 의미한다
  • 어노테이션은 엔티티와 데이터베이스를 매핑하는 JPA에서 사용

@Entity : 클래스 위에 선언하여 이 클래스가 엔티티임을 알려준다. 이렇게 되면 JPA에서 정의된 필드들을 바탕으로 데이터베이스에 테이블을 만들어줌

Repository(리포지토리)

Entity에 의해 생성된 DB에 접근하는 메서드(ex) findAll()) 들을 사용하기 위한 인터페이스이다. 위에서 엔티티를 선언함으로써 데이터베이스 구조를 만들었다면,
여기에 어떤 값을 넣거나, 넣어진 값을 조회하는 등의 CRUD(Create, Read, Update, Delete)를 해야 쓸모가 있는데, 이것을 어떻게 할 것인지 정의해주는 계층이다.

  • JpaRepository를 상속받도록 함으로써 기본적인 동작이 모두 가능해진다!
  • JpaRepository는 어떤 엔티티를 메서드의 대상으로 할지를 다음 키워드로 지정한다. JpaRepository<대상으로 지정할 엔티티, 해당 엔티티의 PK의 타입>.
public interface YongbinRepository extends JpaRepository

//interface로 만들어 줘야한다.
profile
안녕하세요!

0개의 댓글