728x90
[ 01 Spring JPA ]
- 01 ORM 이란 ?
- • Object Relational Mapping(객체 - 관계 - 매핑)
- • 어플리케이션 객체와 관계형 데이터베이스의 데이터를 매핑해주는 도구
- • 객체 지향 프로그래밍은 클래스를 사용, 관계형 데이터베이스는 테이블을 사용
- • 대표적인 ORM으로는 Hibernate, JPA 등이 존재
- ORM 사용 이유
- 객체 모델과 관계형 모델 간의 불일치 존재
- 객체 지향 프로그래밍은 클래스를 이용
- 관계형 데이터베이스는 테이블을 이용
- 데이터베이스 접근을 프로그래밍 언어의 관점에서 접근
- ORM을 이용해서 객체 간의 관계를 바탕으로 SQL을 자동 생성하여 불일치 해결
- ORM의 장점
- 직관적인 코드로 데이터를 조작할 수 있음
- 개발자가 비즈니스 로직에 집중할 수 있음
- 부수적인 코드가 줄어들어 단순해지고 가독성 상승
- 재사용 및 유지보수 편리
- ORM은 독립적으로 작성되어 있기 때문에 객체들의 재사용 가능
- 매핑 정보가 명확하기 때문에 ERD에 대한 의존도를 낮춤
- DBMS에 대한 종속성 감소
- 대부분의 ORM은 DB에 종속적이지 않음
- DBMS를 교체하는 경우 더 적은 리스크로 수행 가능
ORM의 단점
복잡도가 올라가는 경우 ORM만으로는 구현의 한계가 있음
직접 쿼리를 구현하지 않기 때문에 복잡한 설계는 어려움
특정 쿼리는 튜닝이 필요할 수 있음
자주 사용하거나 복잡한 경우
프로시저가 많은 시스템에서는 ORM의 객체 지향적인 장점을 활용하기 어려움


추천인 코드 : o6i4B3y95 : 앨리스트랙 참여 링크
#엘리스트랙 #엘리스트랙후기 #온라인코딩부트캠프 #온라인코딩학원 #백엔드학원 #개발자국비지원 #개발자부트캠프 #국비지원부트캠프 #DOCKER #백엔드 #자바스프링 #스프링강의 #백엔드인강 #RESTAPI #스프링개발자
728x90
'Elice --Cloud--Track > 10~12 주차' 카테고리의 다른 글
12주차 블로그 챌린지 (0) | 2024.02.11 |
---|---|
12주차 블로그 챌린지 (0) | 2024.02.11 |