java - 实体管理器 - "cloud ready"、 "graph"、 "self validating"

标签 java entity

我正在寻找具有以下功能的“实体管理器”(参见列表)。

令我感到奇怪的是,有如此多的软件项目,其核心是基于智能实体管理的 UI 和业务规则,但我还没有看到一个单一的实体管理系统是“标准”。
哦,我见过一些,但没有一个能与下面的功能列表相提并论。最值得注意的是,核心中经常缺少级联和验证,水平缩放和缓存失效通常留作“学生练习”,图形性质通常仅限于父/子,或者,如果幸运的话,仅限于 DAG (有向无环图)。

我是否遗漏了什么聪明的东西?还是我注定要自己写这个东西 - 就像其他人一样(并且由于时间限制可能会满足于不太理想)?

至少在我看来,以下是必须融入实体管理“核心”才能真正发挥作用的功能列表:

  1. 基于图:关系是一级公民,两个节点之间的多重关系(标记图),可以计算生成树和闭包。
  2. DB 绑定(bind) - 或者更确切地说,不受内存限制。可以在内存中保存缓存,但必须能够轻松包含 1 亿个实体和关系。
  3. 水平扩展 - 这意味着它知道如何从多个应用服务器访问数据库、使用锁定(乐观或悲观)以及在来自另一个应用服务器的更新时使缓存无效。
  4. 支持事务性工作 - 通过在内存或数据库中收集事务。
  5. 在单个事务范围内支持可插入的业务规则级联(例如,如果 A 发生变化,则 B 也必须发生变化)
  6. 支持可插入验证(例如,如果 B 存在,则无法删除 A)。
  7. 支持可插拔授权(例如,用户 U1 无法更改 A/用户 U1 无法更改 A,因为这会导致 B 更改[级联],而用户 U1 无法更改 B)。
  8. 发出更改事件/维护更改日志(例如,以便在更改后启动工作流)。
  9. 元数据(如果存在)应该可以通过“数据”而非代码进行配置。
  10. 无需停机升级(“云就绪”,对吧?)
  11. 纯 Java。

最佳答案

我没有亲自使用过这个 - 但从我读到的内容来看 neo4j可能符合您的所有要求

关于java - 实体管理器 - "cloud ready"、 "graph"、 "self validating",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11947305/

相关文章:

java - 如何将 Csv 文件从专用服务器上传到非专用服务器,然后执行以下任务

java - 在java中的实体类中设置变量值(硬代码)的最佳实践

c# - DDD 中的域服务到底意味着什么以及如何实现它?

entity - 在某些情况下删除实体 Drupal 8

php - 如何在持久化之前处理域实体验证?

java - Actor 列表到 Collection

java - 如何在 Android 上 MediaStore.Images.Media 选择图像后调整图像大小

java - 在java中编辑二进制文件

java - 无法使用 nexmo 或 thilio 发送短信

java - 使用 JPA 构建 Java 项目时出现问题