일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- spring
- 메소드
- 이클립스
- 스프링
- 컴퓨터과학개론
- 자바프로그래밍
- 자바 스프링
- 스프링 기초
- 프로그래밍언어
- 배열
- 리눅스
- JAVA기초
- Java
- 알고리즘
- 자바
- 코딩초보
- 프로그래밍
- 기초코딩
- 제이쉘
- eclips
- Git
- JShell
- github
- 프로그래밍기초
- Elk
- 초보코딩탈출
- 데이터베이스
- 초보코딩
- 클래스
- 자바기초
- Today
- Total
키보드워리어
[스프링] @Entity와 @Component의 차이 본문
안녕하세요 【키보드 워리어】 블로그 방문자 여러분
오늘은 @어노테이션 @Entity와 @Component의 차이점을 알아보겠습니다.
@Entity와 @Component
Spring을 통해Web 개발 시 어려웠던
여러 가지 어노테이션들.. 그중에 @Entity와 @Component의 차이가 어떤지 궁금했습니다.
@Entity
@Entity는 JPA(Java Persistence API)에서 사용하는 어노테이션으로, 객체를 데이터베이스에 저장할 수 있는 엔티티 클래스임을 표시합니다. 즉, 해당 클래스가 데이터베이스의 테이블과 매핑되는 엔티티 객체라는 것을 나타내는 것입니다.
@Component
저는 처음 @Component를 배울 때 @Component는 스프링 프레임워크에서 IoC(제어의 역전) 기능을 구현하기 위한 어노테이션이라고 배웠습니다.
@Component 어노테이션은 해당 클래스를 컴포넌트 스캔 대상으로 등록하여 스프링 컨테이너에서 객체를 생성하고 관리할 수 있게 합니다.
무언가 저장하는 듯한 모습이기 때문에 저는 처음 어노테이션이 같은 줄 알았었어요..
Entity와 Component는 둘 다 데이터를 나타내는 객체입니다. 하지만 둘 간의 차이점은 바로 데이터의 표현 방법입니다.
@Entity는 데이터베이스 테이블을 나타내는 객체입니다. 즉, Entity는 하나의 데이터베이스 테이블에 대한 정보를 담고 있습니다. 예를 들어, 사용자 데이터를 저장하는 데이터베이스 테이블이 있다면, 이 데이터베이스 테이블에 대한 정보를 가지고 있는 User Entity가 존재할 것입니다.
@Component는 다른 객체에서 공통으로 사용되는 기능을 가진 객체입니다. 예를 들어, 사용자 인증 기능을 구현하는 객체가 있다면, 이 기능을 구현하는 여러 객체에서 중복적으로 사용되는 코드를 Component로 분리하여 재사용할 수 있습니다. 의존성을 주입해서 쓰는 것이죠.
결론
Entity는 데이터베이스 테이블에 대한 정보를 나타내는 객체이고, Component는 다른 객체에서 공통으로 사용되는 기능을 가진 객체이므로, 둘 간의 차이점은 데이터의 표현 방법에 있습니다.
참고하시면 좋은 글
2023.04.08 - [Spring framework/REST API] - [Spring framework] REST API정리
'Spring framework > JPA' 카테고리의 다른 글
[스프링] 자동 생성일,수정일 만들기 (0) | 2023.04.25 |
---|---|
[스프링]1:N 관계 ERR 다이어그램과 자바 코드로 표현 *카디널러티 (0) | 2023.04.18 |