C++ ORMライブラリ

C++ ORMライブラリ

C++向けのORMライブラリは、パフォーマンスと低レベル制御を提供します。SOCIは複数のデータベースバックエンドをサポート、ODBはコンパイラベースのORM、sqlpp11はモダンC++の機能を活用した型安全なインターフェースを提供します。システムプログラミングや高性能アプリケーションに適しています。

GitHub Star 比較

C++ ORMライブラリ GitHub Star 比較
No名前GitHub Stars説明トレンドライセンスタイプ公式サイト
1sqlpp11⭐ 2.6ksqlpp11は「A type safe embedded domain specific language for SQL queries and results in C++」として開発された、C++のための型安全なSQL DSL(Domain Specific Language)ライブラリです。C++11以降のテンプレート機能とコンパイル時計算を活用し、SQLクエリをC++コード内に直接記述でき、実行時ではなくコンパイル時にSQLの構文と型の整合性をチェックします。データベーススキーマからC++コードを自動生成し、SQLインジェクション攻撃の防止、タイプミスによるバグの排除、IDEでの強力な自動補完サポートを実現します。stableBSD-2-ClauseLibrary公式
2SOCI⭐ 1.5kSOCIは「Database Access Library for C++」として、C++アプリケーションのための軽量でポータブルなデータベースアクセス層を提供します。複数のデータベースエンジン(PostgreSQL、MySQL、SQLite、Oracle、DB2、Firebird等)に対して統一されたAPIを提供し、C++の型安全性とRAII(Resource Acquisition Is Initialization)パターンを活用した効率的なデータベース操作を実現します。STLコンテナとの自然な統合、準備済みステートメント、接続プール等のモダンなC++開発に必要な機能を包括的にサポートします。stableBSL-1.0Library公式
3Hiberlite⭐ 721Hiberliteは「C++向けのSQLite ORM」として開発された、信頼性の高いデータストレージとACIDトランザクション、シンプルなランダムアクセスを必要とし、SQL でのコーディングを好まない開発者のためのライブラリです。従来のSQLシリアライザーとは異なり、HiberliteでマップされたC++オブジェクトはActive Recordパターンのように振る舞い、「全データを読み取り/一部を変更/全てを書き戻し」という制約から解放されます。Boost.SerializationにインスパイアされたAPIにより、学習するAPIがほとんどなく直感的な使用が可能です。stableBSD-3-ClauseLibrary公式
4LiteSQL⭐ 34LiteSQLは、コードジェネレータとC++ライブラリからなるORMフレームワークです。C++オブジェクトとリレーショナルデータベースの密結合によるオブジェクト永続化層を提供し、SQLite3、PostgreSQL、MySQL、Oracleをサポートします。XMLスキーマ定義から自動的にC++クラスを生成し、型安全なデータベースアクセスを実現します。stableMITLibrary-
5ODB⭐ 28ODBは、C++向けのクロスプラットフォーム・クロスデータベースORMライブラリです。C++オブジェクトをリレーショナルデータベースに永続化する際、手動のマッピングコードを必要とせず、テーブル、カラム、SQLを意識することなく開発が可能です。コンパイラベースのコード生成により、高性能かつ型安全なデータベースアクセスを実現します。stableMITLibrary-
6CppDB⭐ 6CppDBは、C++向けの軽量なSQL接続性ライブラリで、JDBC、ODBCなどと同様にプラットフォームとデータベースに依存しない統一APIを提供します。CppCMSプロジェクトの一部として開発され、C++アプリケーションでのデータベース操作を簡素化します。MySQL、PostgreSQL、SQLite3、Oracleなどの主要データベースをサポートし、プリペアドステートメントによる高いセキュリティとパフォーマンスを実現している軽量なデータベースアクセスライブラリです。stableBSD-3-ClauseLibrary公式