저도공부를하긴한답니다?

4개 비교함

쟉트 2025. 3. 6. 17:45
728x90
특징 EF Core SmartSQL Dapper NHibernate
ORM 타입 (마이크로소프트 공식 지원/권장) Full ORM (권장) Micro ORM (SQL 중심) (아닌 듯) Micro ORM (SQL 중심) (아닌 듯) Full ORM (아닌 듯)
SQL 관리 방식 Code-first, Database-first XML 매핑 SQL 직접 작성 XML 매핑
성능 중간 (자동화된 매핑 및 트랜잭션 관리로 일부 오버헤드 있음) 높음 (SQL 쿼리 최적화 가능) 매우 높음 (최소한의 오버헤드) 중간 (많은 기능 제공으로 인해 성능 최적화가 필요)
학습 곡선 다소 어려운 편 (ORM 개념 이해 필요) 적당함 (SQL 작성법에 익숙해야 함) 쉬움 (SQL에 익숙한 개발자에게 빠름) 어려움 (객체-관계 매핑 및 복잡한 설정 필요)
유연성 적당히 유연함 (Fluent API 또는 Data Annotations) 매우 유연함 (직접 SQL 작성 및 매핑 관리 가능) 매우 유연함 (SQL을 직접 작성하고 매핑 처리) 매우 유연함 (XML 매핑 및 코드로 매핑 처리 가능)
데이터베이스 지원 Microsoft SQL Server, PostgreSQL, MySQL 등 SQL Server, MySQL, PostgreSQL 등 SQL Server, PostgreSQL, MySQL 등 SQL Server, MySQL, PostgreSQL 등
트랜잭션 관리 자동으로 트랜잭션 관리 트랜잭션 관리 수동 처리 트랜잭션 관리 수동 처리 자동으로 트랜잭션 관리
매핑 방식 객체 모델을 사용하여 자동 매핑 XML을 통해 직접 SQL을 관리 SQL과 객체 간 매핑 XML 파일 또는 Fluent API로 객체와 DB 매핑
커스터마이징 Fluent API와 Data Annotations을 통한 커스터마이징 가능 직접 SQL 작성 및 쿼리 커스터마이징 가능 SQL 작성 및 매핑을 코드에서 직접 처리 XML을 통한 고급 매핑, 캐시 관리 및 성능 최적화 가능
지원되는 기능 자동화된 쿼리 생성, 캐시 관리, Lazy Loading 등 동적 SQL, 쿼리 캐싱, 성능 진단 등 기본적인 쿼리 실행, 성능 최적화 동적 SQL 생성, 복잡한 트랜잭션 관리, 객체 그래프 관리