内容简介:超简单、超强大的 ORM 框架,OQL、SQL、ES 多查询引擎,超越 JPA、Hibernate、Mybatis。 支持的一些特性 对标准 Entity 支持完整 CRUD 操作,包括常用的查询操作 支持通过接口中的注解生成对应的查询(orm查询、s...
超简单、超强大的 ORM 框架,OQL、 SQL 、ES 多查询引擎,超越 JPA、Hibernate、Mybatis。
支持的一些特性
对标准 Entity 支持完整 CRUD 操作,包括常用的查询操作
支持通过接口中的注解生成对应的查询(orm查询、sql查询、命名orm查询、命名sql查询、dto查询)
支持通过接口中的方法名生成对应的查询
支持 QueryChannel 服务
提供基础属性的实体基类和面向领域编程基类
原生支持使用注解实现审计(如创建人、创建时间、修改人、最后修改时间)
支持自定义编写基于 Ebean 的查询,方便而不失灵活性
方便的与 Spring 集成
支持 MySQL 、Oracle、SQL Server、H2、PostgreSQL 等数据库
为什么选择 Ebean ORM
基于 JPA 注解的轻量级 ORM 实现,支持 Mybatis 不支持的实体关联,但相比 Hibernate/JPA 具有 Mybatis 的查询灵活性,支持查询 partial objects 。
对于实现领域模型仓储接口的聚合根实体保存(保存聚合根实体同时保存聚合根上的关联实体、值对象)和 partial objects 等技术要求,Ebean 都非常适用。
我选择关系型数据持久化框架的基本原则:
拥抱 SQL 而非隐藏
可以实现面向领域编程
可以利用 JPA 注解,但不能是 JPA 的完整实现(这点我偏向于 Ebean )
足够成熟以应对企业级应用( Ebean 和 Hibernate 同时期作品,资格老,而且持续更新以满足更高需求)
框架优缺点比较
Hibernate/JPA
反正比 Hibernate/JPA 好
MyBatis
优点
在 XML 映射文件里写 SQL 语句很爽
缺点
实现一个 DAO、仓储要写很多文件(DAO/Repository、XXXMapper、XXXMapper.xml),方法多了比较繁琐
无法在一个方法里做批处理,无法级联加载
即时是简单的 CRUD,都显得繁琐,导致存在各种弥补 mybatis 这一缺陷的第三方封装框架
无法面向对象,无法实现 DDD
EBean
优点
所有场景都实现非常完美,代码可读性高
实现批处理超级简单
ORM 查询、sql 查询、DTO 查询都非常简单
缺点
DTO 查询功能较新,有待增加 XML mapping 对 DTO 的支持
更新内容:
升级对 spring-data-commons to 2.0.5.RELEASE 和 spring boot 2.0.0 的支持
配置文件使用 application.properties 或 application.yml
增加对 DTO 查询的支持
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- One 框架 2.0.13 发布
- Total.js 框架 v2.6.0 发布,Node.js 的 MVC 框架
- Total.js 框架 v2.6.0 发布,Node.js 的 MVC 框架
- 快嘉框架 v1.6 更新发布,J2EE 开发框架实例
- 快嘉框架 v2.0 更新发布,J2EE 开发框架实例
- 快嘉框架 v2.0 更新发布,J2EE 开发框架实例
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。