对 CouchDB 的 Java 数据访问:ORM 还是 REST?

wsb*_*383 3 java couchdb ektorp

我正在开发一个应用程序作为事件服务总线,用于集成各种遗留组件......该应用程序利用数据存储来审核系统之间发送的所有事件和请求,以及存储有关总线订阅端点的元数据.. 。等等。我想使用 CouchDB 作为数据存储,因为它已经内置了我的应用程序的许多要求(REST API、复制、版本控制元数据文档等)。现在这是我的应用程序堆栈的样子:

  [spring-integration filters/routers/service activators]
  [service layer]
  [dao layer]
  [database]
Run Code Online (Sandbox Code Playgroud)

由于数据库是 CouchDB,我猜 DAO 层将是 Ektorp Java 库或简单的 REST 客户端。不过,这是我的问题:用 Ektorp 构建 DAO 层是不是有点多余?我的意思是,为什么不直接在服务层中使用 RestTemplate 来与 CouchDB 中的视图和设计文档对话并节省一些编码工作?

我错过了什么吗?

谢谢,

ahm*_*yha 5

我不知道您是否尝试过,但LightCouch 在很多方面都可以充当 REST 模板。除了处理文档到域的转换和设计文档/视图之外,您还可以将其用作 CouchDB 应用程序(如 DAO 或服务层)中任何位置的客户端。