一句话Longevity 是一个面向 Scala 与 NoSQL 的持久化框架,帮助开发者围绕领域模型而非数据库模型构建应用。
适合谁使用 Scala 构建领域模型驱动应用、需要 Cassandra/MongoDB/SQLite 持久化抽象的后端开发者与团队
核心功能将领域对象以 JSON 形式持久化提供 Cassandra、MongoDB、SQLite 与内存后端Finally tagless API,支持 Scala Futures、IO monads 或同步阻塞方式支持多种 Scala streaming library 的流式查询结果编译期 DSL 表达 keys、queries 和 indexes预构建类型安全、带 effect 的 repository API支持乐观锁、schema migration、测试数据生成提供真实数据库集成测试与内存 repository
功能与用途Longevity 是面向 Scala 和 NoSQL 的持久化框架,目标是让开发者聚焦领域模型而不是数据库模型。它将持久对象存储为 JSON,并补充必要数据库 schema 以保持性能,同时通过持久化 API 抽象数据库操作,减少手写数据库 schema、领域模型到数据库模型转换层及其集成测试的维护工作。
支持语言/框架文本明确面向 Scala,支持标准 Scala 类型如 case classes、options、sets、lists;支持 Scala futures、IO monads、同步阻塞方式,以及四种 Scala streaming libraries 的流式查询结果。后端支持 Cassandra、MongoDB、SQLite 和 in-memory。
自托管选项作为应用内持久化框架使用,后端可连接 Cassandra、MongoDB、SQLite 或内存仓储;文本未明确说明部署或自托管模式。
API/SDK提供 finally tagless API、优雅的 persistence API、预构建 repository、编译期 DSL 来表达 keys、queries 和 indexes;另有 longevity 0.27.0 API Scaladocs,包含 config、context、effect、json、model、persistence、test 等包。
集成与生态集成 Cassandra、MongoDB、SQLite 和内存后端;支持 Scala futures、IO monads、同步阻塞方式和多种 Scala 流式库。还提供预构建集成测试、schema migration framework、test data generation。
文档质量网站提供 Feature List、Video Demo、User Manual、Getting Started、Scaladocs、Discussion Forum、Resources 等入口;抓取内容显示特性描述较完整,并有 API 文档结构。
中国访问未知
适用场景Scala 后端应用的领域模型持久化、NoSQL 数据访问抽象、仓储层封装、集成测试中的内存仓储替代、需要 schema migration 与测试数据生成的项目
同类Slick、Doobie、Quill、ReactiveMongo、MongoDB Scala Driver、Cassandra Java/Scala Driver