Morphia provides an annotation-driven approach to mapping POJO based entities into and out of MongoDB. As such, Morphia is an ODM (or Object Document Mapper).
To use, add Morphia to your Java SE or EE project alongside the mongo-java-driver (which Morphia depends on). Then, create POJOs representing your entities just like you would with JPA entities. Finally, either use Morphia's Datastore interface to store and retrieve entities, or hand that responsibility to a type-safe DAO that can extend from the shipped BasicDAO.
Jar files are downloadable from Maven Central.
Maven users: Releases are available in Central. Snapshots are available via OSS Sonatype.
</tr>
<td>Artifact ID</td><td>morphia</td>
</tr>
<tr>
<td>Version</td><td>1.2.3</td>
</tr>
Maven Dependency | |
---|---|
Group ID | com.github.jmkgreen.morphia |
You can paste the following into your pom.xml:
<dependency>
<groupId>com.github.jmkgreen.morphia</groupId>
<artifactId>morphia</artifactId>
<version>1.2.3</version>
</dependency>
The wiki has quite a lot of good example code. It was copied over from the original GoogleCode site.
Maven Site docs are here.
JavaDoc packages are available for more detailed IDE-based help.
GitHub gists are welcomed from contributors.
jUnit tests form part of this project. If these are green, it's shippable!
The original Google Group remains active for discussion, although please take care to note if you are using the original project's code or the code from this fork.
Please use the GitHub issues tracker to report problems and make requests. A jUnit test case illustrating a bug has a higher chance of getting a fix that a more vague text description of course.
Fork this project, do you work, and ask for a pull request!
You will need:
- JDK 1.5 or better (1.6 and 1.7 are tested)
- Mongod running on localhost, on the default port.
Apache, v2.
This project is a fork of http://code.google.com/p/morphia/, taken from SVN trunk at revision 1826 (Jul 2012). This original work was authored by Scott Hernandez et al.
The intention of this fork is to:
- Improve the documentation
- Maintain compatibility with newer MongoDB driver releases
- Fix and improve the code
Hopefully this thing is routinely green. Travis-CI monitors new code to this project and tests it on a variety of JDKs.