ORM 于创业项目快速迭代的重要性不言而喻。我也一直在不停地寻找更好的方案。
造了个轮子:Loulan-java
市面上有些不错的 orm 框架,诸如 Laravel、Ror、Gorm。
参考这些整理并增加了下面的特征:
- OR Mapping 约定及自定义的mapping规则,书写简单,不能每个字段都写一堆标记
- Scalable 只需简单配置,支持各个级别的分库分表分读写
- Hook / Plugin 支持各个级别的hook,支持自定义插件/中间件
- Functional QueryBuilder 良好的细节屏蔽,需要语法简约,支持复用,可扩展,容易支持缓存
- Pagination 简单的分页接口支持
- Relations Eager Loading 预加载
- Collections 兼容链式操作的集合框架
- Mutators / Casting
- Full SQL 诸如事务、联表、简单计算等