Repolode
go-gorm

go-gorm/gorm

Go 구조체를 데이터베이스 테이블에 매핑하고 연관 관계, 훅, 트랜잭션, 마이그레이션을 지원하는 기능이 풍부한 ORM입니다.

스타
39,978
포크
4,220
열린 이슈
554
마지막 커밋
지난달

어떤 프로젝트인가요?

GORM은 Go용 객체 관계형 매핑 라이브러리입니다. Go 구조체로 모델을 정의하고, 모든 쿼리에 원시 SQL을 직접 작성하지 않아도 생성, 조회, 수정, 삭제 작업을 수행할 수 있으며, 필요할 때는 SQL 빌더와 원시 SQL도 사용할 수 있습니다.

이 라이브러리는 has one, has many, belongs to, many to many, 다형성 연관 관계, 단일 테이블 상속 등 일반적인 관계형 패턴을 지원하며, Preload와 Joins를 통한 즉시 로딩 기능도 제공합니다. 또한 세이브포인트를 지원하는 트랜잭션, 일괄 삽입, 업서트, 행 잠금, 생성·수정·삭제·조회 작업 전후에 실행되는 훅, 자동 스키마 마이그레이션도 제공합니다.

GORM은 플러그인 API로 확장할 수 있습니다. 문서에 소개된 플러그인으로는 여러 데이터베이스와 읽기/쓰기 분할을 지원하는 데이터베이스 리졸버, Prometheus 통합이 있습니다. 문서와 가이드는 gorm.io에서 확인할 수 있습니다.

핵심 기능

  • 01has one, has many, belongs to, many to many, 다형성 연관 관계를 지원합니다.
  • 02Preload와 Joins를 통한 즉시 로딩을 지원합니다.
  • 03중첩 트랜잭션과 세이브포인트를 지원합니다.
  • 04일괄 삽입, 업서트, 행 잠금, FindInBatches를 지원합니다.
  • 05생성, 저장, 수정, 삭제, 조회 훅을 제공합니다.
  • 06자동 마이그레이션과 플러그인 API를 제공합니다.

활용 사례

  • 모든 쿼리에 SQL을 직접 작성하지 않고 관계형 데이터베이스를 사용하는 Go 웹 서비스를 구축할 때 활용할 수 있습니다.
  • 리졸버 플러그인을 통해 읽기/쓰기 분할이나 여러 데이터베이스 연결을 추가할 수 있습니다.
  • 자동 마이그레이션으로 개발 중 스키마 변경을 관리할 수 있습니다.

빠른 시작

  1. 1

    설치 및 사용 방법은 gorm.io의 가이드를 참고하세요

토픽

자주 묻는 질문

gorm은(는) 무엇인가요?
Go 구조체를 데이터베이스 테이블에 매핑하고 연관 관계, 훅, 트랜잭션, 마이그레이션을 지원하는 기능이 풍부한 ORM입니다. GORM은 Go용 객체 관계형 매핑 라이브러리입니다. Go 구조체로 모델을 정의하고, 모든 쿼리에 원시 SQL을 직접 작성하지 않아도 생성, 조회, 수정, 삭제 작업을 수행할 수 있으며, 필요할 때는 SQL 빌더와 원시 SQL도 사용할 수 있습니다.
gorm은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
gorm은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
gorm은(는) 아직 유지보수되고 있나요?
6개월 이내 업데이트. gorm의 마지막 커밋은 2026년 9월 14일입니다.
gorm은(는) 어디에 사용할 수 있나요?
모든 쿼리에 SQL을 직접 작성하지 않고 관계형 데이터베이스를 사용하는 Go 웹 서비스를 구축할 때 활용할 수 있습니다. 리졸버 플러그인을 통해 읽기/쓰기 분할이나 여러 데이터베이스 연결을 추가할 수 있습니다. 자동 마이그레이션으로 개발 중 스키마 변경을 관리할 수 있습니다.
gorm는 어떻게 설치하나요?
설치 및 사용 방법은 gorm.io의 가이드를 참고하세요
gorm은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/go-gorm/gorm

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트