Scala ORMライブラリ
Scala ORMライブラリ
Scala向けのORMライブラリは、関数型プログラミングとオブジェクト指向の融合を活かしています。SlickはScalaの型システムを最大限活用、DoobieはCats Effectベースの純粋関数型アプローチ、Quillはコンパイル時のクエリ最適化を提供します。型安全性と表現力の高さが特徴です。
GitHub Star 比較
No | 名前 | GitHub Stars | 説明 | トレンド | ライセンス | タイプ | 公式サイト |
---|---|---|---|---|---|---|---|
1 | Slick | ⭐ 2.7k | Slick(Scala Language-Integrated Connection Kit)は「Scalaのための関数型リレーショナルマッピング(FRM)ライブラリ」として、型安全で関数型プログラミングパラダイムに基づくデータベースアクセス層を提供します。従来のORMとは異なり、SQLライクなクエリを直接Scalaコード内で記述でき、コンパイル時の型チェックによりクエリの正確性を保証します。Reactive Streamsサポート、非同期処理、関数合成によるクエリ構築により、モダンなScalaアプリケーション開発において高いパフォーマンスと保守性を実現します。 | stable | MIT | Library | - |
2 | sqlpp11 | ⭐ 2.6k | sqlpp11は、C++11テンプレート技術をScalaに移植した型安全SQLライブラリです。コンパイル時SQL検証と高度な型システムによる安全なデータベースアクセスを実現し、SQLクエリの型安全性を保証しながら、自然なSQL構文での記述を可能にします。 | stable | MIT | Library | - |
3 | Doobie | ⭐ 2.2k | DoobieはScala向けの関数型データベースアクセスライブラリで、「型安全性とコンポーザビリティの完璧な融合」を実現します。手動クエリ記述による型安全APIを特徴とし、クエリフラグメントの組み合わせと操作で大規模クエリ構築を可能にします。隠蔽なしで最適化された特殊クエリ記述が可能な自由度の高いライブラリとして、関数型プログラミング愛好者の定番選択肢となっています。 | stable | MIT | Library | - |
4 | Quill | ⭐ 2.2k | Quillは「Scalaのための型安全なデータベースアクセスライブラリ」として設計された、コンパイル時にSQLを生成するマクロベースのデータベースアクセス層です。「Compile-time Language Integrated Queries」の概念に基づき、Scalaの型システムとマクロ機能を活用して、実行時ではなくコンパイル時にクエリの妥当性をチェックし、型安全なSQLコードを生成します。様々なデータベース(PostgreSQL、MySQL、SQLite、H2、Cassandra、MongoDB)をサポートし、同期・非同期両方の実行モデルを提供することで、現代的なScalaアプリケーションでの高性能データアクセスを実現します。 | stable | MIT | Library | - |
5 | ScalikeJDBC | ⭐ 1.3k | ScalikeJDBCは「Scala開発者向けの洗練されたSQL中心のデータベースアクセスライブラリ」として設計された、JDBCを自然にラップして使いやすいAPIを提供するScala専用のデータベースライブラリです。「JDBCは堅実な標準インターフェースであり、ほとんどのRDBMSで広くサポートされているため、データベースアクセスは一貫したものである」という理念の下、Type-safeなQueryDSLと文字列補間を活用したSQLクエリにより、Scalaの型システムと関数型プログラミングの利点を最大限に活用した堅牢で表現力豊かなデータベース操作を実現します。 | stable | MIT | Library | - |
6 | ZIO SQL | ⭐ 239 | ZIO SQLは「Type-safe, composable SQL for ZIO applications」として開発された、ZIOアプリケーション向けの型安全で合成可能なSQLライブラリです。通常のScalaで型安全、型推論対応、合成可能なSQLクエリを記述できるように設計されており、永続化に関するバグを事前に防ぎ、IDEを活用してSQLの記述を生産的、安全、楽しいものにします。関数型プログラミングの原則とZIOエコシステムとの深い統合により、企業レベルのScalaアプリケーション開発に新しい選択肢を提供します。 | stable | MIT | Library | - |