본문 바로가기
끄적끄적 etc

[DB]ORM이란?

by Dddu 2024. 6. 30.
SMALL
ORM(Object-Relational Mapping)
  • 정의: 객체 지향 프로그래밍 언어와 관계형 데이터베이스를 연결해주는 기술
  • 역할: 객체와 데이터베이스 테이블 간의 매핑을 통해 SQL 쿼리 없이 데이터베이스 작업 수행

장점
  • 생산성 향상: SQL 쿼리를 직접 작성하지 않아도 됨
  • 유지보수성 개선: 코드가 더 읽기 쉽고 관리하기 용이
  • 데이터베이스 독립성: 특정 데이터베이스에 종속되지 않음

주요 ORM 도구
  1. SQLAlchemy (Python): 강력한 기능과 유연성을 제공하는 Python ORM 도구
  2. Hibernate (Java): Java에서 가장 널리 사용되는 ORM 프레임워크
  3. Doctrine (PHP): PHP용 ORM 도구로 데이터베이스 독립성 제공
  4. Entity Framework (C#): .NET 프레임워크의 ORM 도구로 C#에서 많이 사용


->1.3.4 나랑 관련 없음


채용공고를 눈팅하다보면 orm(hibernate, jpa, query dsl)가 종종 보이는데 hibernate와 jpa 뭔 차이인지 알아보자.

Hibernate와 JPA는 서로 관련이 있지만 동일하지 않음. Hibernate는 JPA의 구현체 중 하나임

JPA: 표준
Hibernate: JPA를 구현한 것 중 하나

JPA 사용 시 다른 JPA 구현체로 쉽게 전환 가능한 장점이 있음

Hibernate를 JPA와 함께 사용할 때는 JPA 인터페이스를 통해 코드를 작성하고, Hibernate를 실제 구현체로 사용함.


LIST