这个项目能做什么
SeaORM 是一个为 Rust 设计的功能丰富的对象关系映射器 (ORM)。它提供了一种高层级的概念化方式来建模复杂的关系,包括 1-1、1-N、M-N 以及自引用关系。
核心能力包括:
- 智能实体加载器 (Smart Entity Loader):智能地对 1-1 关系使用 join,对 1-N 关系使用 data loaders,以消除 N+1 查询问题。
- ActiveModel:支持嵌套持久化,允许在单次操作中保存整个对象图。
- 灵活的工作流:同时支持模式优先(通过迁移系统)和实体优先的工作流,后者可根据实体定义自动同步数据库模式。
- 原生 SQL 支持:包含一个 `raw_sql!` 宏用于复杂查询,在防止 SQL 注入的同时提供参数插值和数组扩展。
- 同步支持:通过 `sea-orm-sync`,API 可以在没有异步运行时的情况下使用,这对于轻量级 CLI 工具非常有用。
- 集成:为多种 Rust Web 框架提供示例,包括 Actix、Axum、Poem、Rocket 和 Salvo。
此外,该生态系统还包括用于快速启动 GraphQL API 的 Seaography 以及用于专业管理面板的 SeaORM Pro。
评论
0 评分人数达到10人后显示
登录后参与讨论。