ORM(Object relational Mapping)이란?
데이터베이스와 OOP언어의 중간에 위치해 OOP구조 형태로 데이터베이스를 매핑시키는 프로그램 기법이다.
장점
ORM을 사용하지 않으면 별도 OOP와 별도로 DB에 SQL쿼리를 발행할 필요가 있는데 ORM에 의해 별도 SQL을 발행할(신경 쓸) 필요가 없어 코딩작업이 수월해진다.
DBMS에 종속성을 줄일 수 있다.
단점
복잡한 쿼리를 발행하기 어렵다. (OOP에 맞춰진 쿼리가 자동으로 발행되므로)
OOP를 기준점으로 Query를 발행하므로 최적화된 쿼리를 실행하지 못하는 경우가 있다.
대표적인 ORM프레임워크
Django,Rails ActiveModel,Hibernate ORM,Sequlize ORM,Eloquent ORM 등
memo
1. go언어의경우
以下に、Go 言語のための一部の人気のある ORM ライブラリをリストします:
GORM: Go 言語用の ORM ライブラリの中で最も一般的に使われているものの一つです。特徴としては、Auto Migration、SQL ビルダ、Preloading(事前読み込み)、Transactions(トランザクション)などがあります。
Xorm: 単純でパワフルな ORM ライブラリで、リバースエンジニアリング、DB のビューとストアドプロシージャ、マスタースレーブ構成などをサポートしています。
SQLx: レギュラーな database/sql パッケージの上に構築されており、開発者が直接 SQL を書くことを許可し、それをデータ構造にマップします。