Go ORMライブラリ

Go ORMライブラリ

Go言語向けのORMライブラリは、シンプルさとパフォーマンスを重視しています。GORMは最も人気があり開発者フレンドリーなAPI、Entはグラフベースのデータモデリング、SQLCはコンパイル時の型安全性を提供します。Goの哲学に従い、明示的で理解しやすいコードを生成することを重視しています。

GitHub Star 比較

Go ORMライブラリ GitHub Star 比較
No名前GitHub Stars説明トレンドライセンスタイプ公式サイト
1GORM⭐ 38.5kGORMは、開発者体験を重視したGo言語向けの最も人気のあるORMライブラリです。Code-firstアプローチを採用し、シンプルで直感的なAPIを提供します。MySQL、PostgreSQL、SQLite、SQL Serverなど複数のデータベースをサポートし、アソシエーション、フック、自動マイグレーション機能を内蔵しています。stableMITLibrary公式
2Beego ORM⭐ 32.2kBeego ORMは「DjangoライクなAPIでGoアプリケーションの生産性を向上させるORM」として開発された、Go言語エコシステムで人気の高いWebフレームワークBeegoの中核コンポーネントです。DjangoやSQLAlchemyから着想を得た直感的なAPIデザインにより、Code Firstアプローチでデータベース操作を簡素化。MySQL、PostgreSQL、SQLite3をサポートし、型安全性を保ちながら複雑なクエリ操作やリレーションシップ管理を効率的に実現します。stableApache-2.0Library公式
3sqlx⭐ 17.1ksqlxは、Go標準のdatabase/sqlパッケージの強力な拡張ライブラリです。生のSQLとフルORMの中間に位置し、database/sqlのパフォーマンスと柔軟性を維持しながら追加の便利機能を提供します。sqlxは、名前付きパラメータ、構造体スキャン、結果マッピングなどの不足している機能を追加し、SQLクエリの制御を犠牲にすることなく利便性を向上させます。stableMITLibrary公式
4Ent⭐ 16.4kEntは「Schema as Code(コードとしてのスキーマ)アプローチ」を採用したGo言語向けエンティティフレームワークです。Meta(Facebook)で内部的に使用されていたエンティティフレームワークからインスパイアされ、完全な型安全性とコード生成による明示的なAPIを提供。MySQL、PostgreSQL、SQLite、CockroachDBなど複数データベースをサポートし、GraphQL統合、Atlas連携による高度なマイグレーション、グラフ横断クエリなど企業レベルの機能を包括的にサポートする現代的なGo ORMソリューションです。stableApache-2.0Library公式
5sqlc⭐ 15.7ksqlcは「Generate type-safe Go from SQL」をコンセプトとする、Go専用のSQLクエリコンパイラです。生のSQLファイルから型安全なGoコードを自動生成し、コンパイル時にSQLの構文チェックと型検証を行います。ORMの抽象化レイヤーを介さず、SQLの表現力を最大限活用しながら、Goの型安全性とIDEサポートを提供します。データベーススキーマとSQLクエリの変更を自動検出し、対応するGoコードを再生成することで、SQLとGoコードの一貫性を常に保持し、実行時エラーを大幅に削減します。stableMITLibrary公式
6upper/db⭐ 3.6kupper/dbは「A productive data access layer for Go」として開発された、PostgreSQL、CockroachDB、MySQL、SQLite、MongoDBに対応するGoのデータアクセス層(DAL)ライブラリです。ORM的な機能を持ちながら、一般的なデータベース操作のためのツールを提供し、高度なシナリオでは目立たずに機能します。SQL、NoSQLデータベースに関係なく、統一されたAPIを通じて異なるデータソースと連携でき、生産性と柔軟性のバランスを重視した設計になっています。stableMITLibrary公式