˖˚˳⊹ public class Hohee ˚ ₊‧✧

[Spring] DAO(Data Access Object) 란 무엇인가... 본문

Development/JAVA & Spring

[Spring] DAO(Data Access Object) 란 무엇인가...

최호희 2023. 11. 8. 13:19

들어가며,

현재 인프런 야생형 로드맵 첫번째인 JPA 활용편 1을 듣고 있다. 

Repository 개념이 나왔는데 Entity를 찾아주는 역할이라고 들었다. DAO와 비슷하다고 했다. 그런데 DAO의 개념이 헷갈려서 다시 한 번 정리하고자 한다.

 


DAO(Data Access Object) 란??

출처: 구글

 

DB의 data에 접근하기 위한 객체로 실제로 DB에 직접 접근하는 객체이다.

프로젝트의 서비스 모델과 실제 DB를 연결하는 역할을 하며, JPA에서는 DB에 데이터를 CRUD하는 Repository 객체들이 DAO라고 볼 수 있다.

이 둘은 거의 같다고 생각해도 무방하다. repotiroy는 엔티티 객체를 보관하고 관리하는 저장소이고, dao는 데이터에 접근하도록 DB접근 관련 로직을 모아둔 객체이다. 둘다 개념의 차이일뿐 실제로 개발할 때는 비슷하게 사용된다.

@Repository 는 @Component 를 내장하고 있어 스프링이 빈으로 자동 등록을 시켜준다! 

 


참고, 출처 사이트:

https://kbwplace.tistory.com/162

 

[Spring] DAO, DTO, VO의 개념과 차이점

DAO (Data Access Object) : DB의 data에 접근하기 위한 객체로 실제로 DB에 접근하는 객체이다. 프로젝트의 서비스 모델과 실제 DB를 연결하는 역할을 하며, JPA에서는 DB에 데이터를 CRUD하는 Repository 객체

kbwplace.tistory.com

 

공부하고 있는 단계이기에 내용이 100% 정확하지 않을 수 있습니다.

🍀틀린 부분이나 피드백 환영입니다🍀