What is GORM?
It is a fantastic ORM library for Golang, aims to be developer friendly. It is an ORM library for dealing with relational databases. This library is developed on top of database/sql package.
GORM is a tool in the Object Relational Mapper (ORM) category of a tech stack.
GORM is an open source tool with 263 GitHub stars and 81 GitHub forks. Here’s a link to GORM's open source repository on GitHub
Who uses GORM?
11 companies reportedly use GORM in their tech stacks, including Buzzvil, Finema, and wevox.
53 developers on StackShare have stated that they use GORM.
- Full-Featured ORM
- Associations (has one, has many, belongs to, many to many, polymorphism, single-table inheritance)
- Hooks (before/after create/save/update/delete/find)
- Eager loading with Preload, Joins
- Transactions, Nested Transactions, Save Point, RollbackTo to Saved Point
- Context, Prepared Statment Mode, DryRun Mode
- Batch Insert, FindInBatches, Find/Create with Map, CRUD with SQL Expr and Context Valuer
- SQL Builder, Upsert, Locking, Optimizer/Index/Comment Hints, Named Argument, SubQuery
- Composite Primary Key, Indexes, Constraints
- Auto Migrations
- Extendable, flexible plugin API
GORM Alternatives & Comparisons
What are some alternatives to GORM?
See all alternatives
It is a RESTful HTTP framework for the rapid development of Go applications including APIs, web apps and backend services with integrated Go specific features such as interfaces and struct embedding.
Hibernate is a suite of open source projects around domain models. The flagship project is Hibernate ORM, the Object Relational Mapper.
SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL.
Sequelize is a promise-based ORM for Node.js and io.js. It supports the dialects PostgreSQL, MySQL, MariaDB, SQLite and MSSQL and features solid transaction support, relations, read replication and more.
Doctrine 2 sits on top of a powerful database abstraction layer (DBAL). One of its key features is the option to write database queries in a proprietary object oriented SQL dialect called Doctrine Query Language (DQL), inspired by Hibernates HQL.