Entity….wt…..
엔티티가 뭐냐고요?…사실 저도 처음 들어봤어요 헤헿…
다른 사람의 프로젝트를 보다가 DTO나 VO를 Entity로 선언한걸 보게됬는데 이게 뭔지…수업때는 이런게 없었는데
그래서 궁금해서 찾아봤습니다!
Entity란 핵심 비지니스 로직을 담는 비지니스 도메인의 영역의 일부이다.
즉 DTO는 단순히 데이터를 담는게 전부인 반면에, 엔티티는 비지니스 로직을 추가할 수 있다! 라는거죠. (VO란 개념이 비슷한거 같은데?….하지만 VO는 DB와 관련없는 비지니스 로직을 구현하는거죠?)
즉 DTO, VO와 Entity는 데이터를 담는건 동일하지만, 엔티티는 데이터베이스의 테이블과 매핑되는 자바 클래스를 의미합니다.
하지만 이것또한 스프링에서의 개념이고, 실제로 순 엔티티의 개념은 ⇒ 데이터가 저장되고 관리되며, 개념이나 장소, 사건등을 가르킵니다.
Entity 특징
- 유일한 식별자를 가지고 있어야 합니다. ex) 주민번호, ID 등등
- 인스턴스 집합입니다. 2개 이상의 인스턴스가 존재해야합니다.
- 반드시 속성을 가지고 있어야 합니다. ex) 학생의 학번과 이름 주소 등등
- 다른 엔티티와 최소 한개 이상의 관계가 있어야 합니다.
- 업무에서 관리되어야 하는 집합입니다.
Entity는 언제쓰나요?
앞서 말했듯이, 데이터의 집합이며 비지니스 로직을 필요로 하는 클래스에서 필요하겠죠?
보통은 JPA가 @Entity라는 어노테이션으로 되있는 클래스의 데이터 집합을 가지고 수행이 되기 때문에
JPA를 활용하여 기본적인 CRUD를 사용하고자 할때 데이터 집합을 Entity로 정의합니다.
<aside> 💡 저는 현재 JPA 프레임워크는 사용해보지 않았습니당… mybatis와 ajax를 사용해봤기에 추후에 JPA를 좀 더 공부해서 포스팅을 마무리 해보도록 하겠습니다!
</aside>
728x90
'Spring & Spring Boot' 카테고리의 다른 글
Spring AND Spring Boot ? (0) | 2023.01.17 |
---|---|
Spring Boot And Mybatis 연동하기 feat.MySQL (0) | 2023.01.17 |
JSON을 많이 쓴다고?! on Spring Boot (0) | 2023.01.17 |
Spring 에서 ajax 사용하기 (0) | 2023.01.16 |
Spring bean(빈이란?) (0) | 2023.01.16 |