您现在的位置是:首页 > 文章详情

Entity for D 2.5.0 发布,D 语言 ORM 实现

日期:2019-10-18点击:472

Entity 是 D语言( DLang )数据库操作 ORM 框架,设计参照 javax JPA 实现,具有很好的扩展性和规范性,数据库驱动依赖 HuntLabs 开发的原生数据库驱动库 hunt-database

特性

  1. 实现了完整的 CriteriaQuery 支持

  2. 标准化 Repository 使用封装

  3. 完全对象化查询,不用考虑底层数据库驱动

  4. 实现 EQL(Entity Query Language)实现对象化 SQL 查询语言

支持的数据库

  • PostgreSQL 9.0+

  • MySQL 5.1+

本次主要更新内容

  • 针对 EQL 进行增强

  • 简化联表查询

  • 重构数据库连接池部分

  • 使用全新的 hunt-database

  • 移除 libmysql / libpg 依赖,使用 DLang 重构数据库驱动层

  • 修复部分已知问题

使用示例

用户模型

  module app.model.User; import hunt.entity; @Table("users") class User : Model { mixin MakeModel; @AutoIncrement @PrimaryKey int id; string name; int created; int updated; } 

文章模型

  module app.model.Post; import hunt.entity; import app.model.User; @Table("posts") class Post : Model { mixin MakeModel; @AutoIncrement @PrimaryKey int id; string title; int uid; @JoinColumn("uid") User user; string content; int status; int created; int updated; } 

使用 EQL 进行条件查询

  // 通过 EQL 查询出 10 条文章,最新发表的排在前面 auto query = em.createQuery!(Post)("SELECT p FROM Post p WHERE p.status = 1 ORDER BY p.created DESC limit 10"); foreach (post; query.getResultList()) { logDebug(post.title); // 打印文章标题 logDebug(post.user.name); // 输出作者名字 } 

 

原文链接:https://www.oschina.net/news/110670/entity-updated
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章