Skip to content

wufan8387/smart-orm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

我们认为一个好的ORM框架应该是这样的

  1. 不需要一个专门的组件来封装数据逻辑
    类似数据查找这样的逻辑是业务逻辑的重要组成部分,不应该被单独由dao、repository对象甚至xml配置来实现
    去除dao、repository这样一些专门为数据访问而创建的对象,将会使领域逻辑的编写不再割裂

  2. 简单的上下文
    有一个上下文对象是必要且会带来好处的,例如可实现批量提交DML
    但是维护实体对象和上下文对象之间的关系却是不必要的
    应该能够随时随地执行数据访问,而不需要考虑是否已经关联到当前上下文

  3. 按需加载级联对象,而不仅仅是预加载
    懒加载这种模式根本就不应该存在

  4. 动态表
    在运行时动态设置表名

  5. 按需SELECT
    在运行时动态的SELECT所需的列,而不是强制SELECT所有列

  6. 动态列
    能够以key/ value的形式访问没有映射到实体类成员的列

  7. 缓存是不必要的
    在ORM框架中提供缓存的功能,除了会让上下文对象和实体对象之间的关系变得复杂外,还会让使用者感到困惑

  8. SQL操作符函数
    SQL作为最成功的第四代语言不容被忽视。隐藏SQL并不符合开发人员的思维模式
    为SQL操作符提供对应的函数,能够降低学习和使用成本

  9. 元数据编程
    在运行时获取和修改元数据

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages