Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. C/C++
  3. hiberlite

hiberlite

BSD-3-ClauseC++

A C++ object-relational mapping library for SQLite with a Boost.Serialization-inspired API and lazy loading.

GitHubGitHub
723 stars119 forks0 contributors

What is hiberlite?

Hiberlite is a C++ object-relational mapping library that enables developers to store and retrieve C++ objects directly in an SQLite database. It solves the problem of manual SQL coding and schema management by automatically mapping classes to database tables, supporting relationships, and providing lazy loading. The library is designed for applications that need reliable, ACID-compliant data storage with simple random-access to data files.

Target Audience

C++ developers building applications that require persistent, embedded data storage, such as desktop software, mobile apps, or embedded systems, who prefer not to write raw SQL queries.

Value Proposition

Developers choose Hiberlite for its minimal API inspired by Boost.Serialization, which reduces learning time, and its support for complex relationships and lazy loading without requiring code generation or a common base class.

Overview

C++ ORM for SQLite

Use Cases

Best For

  • Embedding a lightweight database in C++ applications without writing SQL
  • Storing C++ objects with complex relationships in a local SQLite database
  • Building desktop applications that need persistent object storage
  • Prototyping data models quickly with automatic schema generation
  • Migrating from Boost.Serialization to a database-backed persistence layer
  • Applications requiring ACID transactions and simple random-access to data files

Not Ideal For

  • Projects requiring cross-database compatibility beyond SQLite
  • Applications with highly complex, performance-critical SQL queries that need direct optimization
  • Teams that prefer writing and maintaining raw SQL for full control over database operations
  • Large-scale enterprise systems needing a more mature ORM with extensive community support and tooling

Pros & Cons

Pros

Minimal API Learning

API inspired by Boost.Serialization, so developers familiar with it can start quickly without learning a new syntax, as highlighted in the README's philosophy.

No External Tools

Works directly with C++ classes without code generators or preprocessors, simplifying build processes and reducing setup complexity.

Automatic Relationship Handling

Supports one-to-many and many-to-many relations with lazy loading, managing database joins and object fetching automatically for better performance.

Flexible Class Design

No requirement to inherit from a common base class, allowing for more natural C++ object models and avoiding vendor lock-in patterns.

Cons

SQLite-Only Limitation

Tied exclusively to SQLite, making it unsuitable for projects that might need to switch to or integrate with other database systems like PostgreSQL or MySQL.

Intrusive Code Modifications

Requires adding friend declarations and hibernate methods to classes, which can clutter code, break encapsulation, and make refactoring more difficult.

Limited Advanced SQL Features

Might not expose all SQLite capabilities, such as complex indexes, triggers, or custom SQL functions, without manual workarounds or raw SQL queries.

Frequently Asked Questions

Quick Stats

Stars723
Forks119
Contributors0
Open Issues12
Last commit3 years ago
CreatedSince 2011

Tags

#orm#database#data-modeling#object-persistence#c-plus-plus#embedded-database#active-record#serialization#sqlite#lazy-loading

Built With

S
SQLite
C
C++

Included in

C/C++70.6k
Auto-fetched 9 hours ago

Related Projects

LevelDBLevelDB

LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.

Stars39,394
Forks8,212
Last commit6 months ago
RocksDBRocksDB

A library that provides an embeddable, persistent key-value store for fast storage.

Stars32,068
Forks6,922
Last commit3 days ago
HiredisHiredis

Minimalistic C client for Redis >= 1.2

Stars6,681
Forks1,852
Last commit19 days ago
InfinityInfinity

The AI-native database built for LLM applications, providing incredibly fast hybrid search of dense vector, sparse vector, tensor (multi-vector), and full-text.

Stars4,704
Forks443
Last commit4 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub