我开始了一项新工作,他们在 java 环境中使用 mongodb。
他们已经使用带有 morphia 驱动程序的 DTO 和工厂实现了一种模式,这可能是由于之前从键值存储迁移到 mongodb。客户端是JSON 客户端。
在我看来,jackson-mongo-mapper将是一种更好的方法,因为它只是将 pojos 从 json 映射到 BSON 并返回,似乎它可以取消所有 DTO 工厂外观?
有人知道这些不同方法的优缺点吗?
我开始了一项新工作,他们在 java 环境中使用 mongodb。
他们已经使用带有 morphia 驱动程序的 DTO 和工厂实现了一种模式,这可能是由于之前从键值存储迁移到 mongodb。客户端是JSON 客户端。
在我看来,jackson-mongo-mapper将是一种更好的方法,因为它只是将 pojos 从 json 映射到 BSON 并返回,似乎它可以取消所有 DTO 工厂外观?
有人知道这些不同方法的优缺点吗?
Spring Data for Mongodb 非常好,因为您甚至可以使用另一个数据存储或混合它们,并且存储库接口非常有用。
Kundera 是通过 JPA2 http://agilemobiledeveloper.wordpress.com/2013/08/22/working-with-mongodb-using-kundera/的一个选项
有很多 java 到 mongodb 选项。
添加您自己的数据层并确保您使用 DI 并对其进行全面测试非常有帮助。
NOSQLUnit 很棒 -> https://github.com/lordofthejars/nosql-unit
DTO 有利于保持实现和设计之间的分离,因此当他们需要或想要从 mongo 切换到其他 NoSQL 或 SQL 数据库时,可以干净利落地完成。