title: MongoDB - Comparison across different ORM tools which can be used for MongoDB
body: <p>I have to integrate ORM framework in my current project(Java based) which is using MongoDB. Can anyone let me know the comparison or pros/cons of below available frameworks(at least for 5 top most if not possible for all) so that I can decide which one to use for my project.</p>
  
  <pre><code>1. Morphia. Type-Safe Wrapper with DAO/Datastore abstractions.
  2. Spring MongoDB. Provides Spring users with a familiar data access features including rich POJO mapping.
  3. Morphium. Feature-rich POJO Mapper including features like declarative caching, cluster awareness, validation, partial updates supports aggregation framework.
  4. Mungbean (w/clojure support).
  5. DataNucleus JPA/JDO. JPA/JDO wrapper
  6. lib-mongomapper. JavaBean Mapper (No annotations).
  7. MongoJack. Uses jackson (annotations) to map to/from POJOs and has a simple wrapper around DBCollection to simply this.
  8. Kundera. JPA compliant ORM. Works with multiple datastores.
  9. MongoFS. Enhanced file storage library with support for file compression, encryption, and Zip file expansion. Can be used on top of a GridFS-compatible bucket.
  9. Jongo. Query in Java as in mongo shell (using strings), unmarshall results into Java objects (using Jackson)
  10. MongoLink. Object Document Mapper (ODM.) Uses a plain java DSL for mapping declaration.
  11. Hibernate OGM. Provides Java Persistence support for MongoDB.
  12. Morphix. Lightweight, easy-to-use POJO mapper, with object caching and lifecycle methods.
  </code></pre>