정의
특징
@Entity
어노테이션을 사용하여 정의.사용 사례
주요 어노테이션
@Entity
: 클래스가 엔티티임을 선언.@Id
: 기본 키를 지정.@GeneratedValue
: 기본 키 값 자동 생성 전략 설정.@Column
: 필드를 테이블의 특정 컬럼에 매핑.@Table
: 엔티티와 매핑될 테이블 이름 지정 (생략 시 클래스 이름이 기본값).장점
정의
특징
JpaRepository
또는 CrudRepository
인터페이스를 확장하여 사용.사용 사례
@Query
어노테이션을 활용해 직접 쿼리를 정의하여 복잡한 조건의 데이터 조회.주요 메서드
save(T entity)
: 데이터를 저장 또는 업데이트.findById(ID id)
: 기본 키로 데이터 조회.findAll()
: 모든 데이터 조회.delete(T entity)
: 데이터를 삭제.장점
구분 | Entity | Repository |
---|---|---|
역할 | 데이터베이스의 테이블 구조를 표현 | 데이터베이스와의 상호작용 담당 |
주요 기능 | 데이터를 저장, 수정, 삭제, 조회하기 위한 객체 생성 | CRUD 작업 및 복잡한 데이터 쿼리 처리 |
구성 요소 | 테이블 컬럼에 대응하는 필드, 매핑 어노테이션(@Entity, @Id 등) | JPA 인터페이스(JpaRepository , CrudRepository ) 확장 |
비즈니스 로직 | 일부 간단한 로직 포함 가능 | 비즈니스 로직과는 분리되어 순수 데이터 접근 역할 수행 |
이 두 가지를 분리하면 코드의 가독성과 유지보수성이 크게 향상됩니다
추가 학습 자료