정의
특징
@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) 확장 |
| 비즈니스 로직 | 일부 간단한 로직 포함 가능 | 비즈니스 로직과는 분리되어 순수 데이터 접근 역할 수행 |
이 두 가지를 분리하면 코드의 가독성과 유지보수성이 크게 향상됩니다
추가 학습 자료