(해당 내용은 글쓴이가 공부한 것을 바탕으로 정리한 것이라 부정확하거나 세부 용어가 틀릴 수 있음을 미리 알립니다.)
서버단과 DB단을 연결해주는 기술.
직접적으로 쿼리문을 적지 않아도 데이터를 조회, 생성, 삭제, 수정 할 수 있다.
| 언어 | ORM 라이브러리 | 설명 |
|---|---|---|
| Java | JPA (Hibernate) | Java의 표준 ORM, Spring에서 주로 사용 |
| Python | Django ORM / SQLAlchemy | Django에 내장된 ORM, 또는 범용 SQLAlchemy |
| JavaScript (Node.js) | Sequelize / TypeORM / Prisma | MySQL, PostgreSQL, SQLite 등 지원 |
| Ruby | ActiveRecord | Ruby on Rails의 기본 ORM |
| PHP | Eloquent | Laravel 프레임워크에서 사용 |
| Go | GORM / ent | Go 언어용 ORM 도구들 |
| C# (.NET) | Entity Framework | 마이크로소프트 공식 ORM |
JAVA의 ORM.
JPA는 interface고
실제 구현체는 Hibernate, EclipseLink
| 항목 | Hibernate | EclipseLink |
|---|---|---|
| 지원 | 가장 널리 사용됨 | Oracle에서 공식 지원 |
| Spring Boot 기본값 | ✔️ 기본 채택 | ❌ 별도 설정 필요 |
| 커뮤니티 | 활발하고 방대 | 상대적으로 적음 |
| 특징 | 성능 튜닝 옵션 다양 | 안정적, 기업용에 강함 |