8. So ...
• Morphia is great, good work !
• But : Need to learn another API => Mongo, Java Driver,
Morphia
• But : JPA Like -> Mongo Paradigm is not JPA / Hibernate
• Morphia is comming to Java Driver ?
• Final choice :
• Morphia for the Java - DBObject Mapping
mardi 4 décembre 12
10. @bguerout
Jongo
@amsellemyves
• What’s Jongo ?
• ODM on top of the Java Driver
• Jackson and BSON4Jackson for (Un)marshalling
• No JPA / Hibernate style
• Query in Java as in Mongo Shell
mardi 4 décembre 12
11. db.users.find({ $or : [ { age : {$gt:20,$lt:30} } ,
{ age : {$gt:50,$lt:60} } ] })
Java Driver :
DB db = mongo.getDB("users");
DBCollection users = db.getCollection("users");
DBObject firstQuery = QueryBuilder.start("age").greaterThan(20).lessThan(30).get();
DBObject secondQuery = QueryBuilder.start("age").greaterThan(50).lessThan(60).get();
DBObject query = QueryBuilder.start().or(firstQuery,secondQuery).get();
DBCursor results = collection.find(query);
List<User> users = new ArrayList<User>();
for (DBObject result : results) {
User user = new User();
user.setUsername((String) result.get("username"));
user.setAge((Integer) result.get("age"));
users.add(user);
}
mardi 4 décembre 12
12. db.users.find({ $or : [ { age : {$gt:20,$lt:30} } ,
{ age : {$gt:50,$lt:60} } ] })
Jongo find
MongoCollection collection = new Jongo(db).getCollection("users");
Iterable<User> users = collection.find("{ $or : [ { age : {$gt:20,$lt:30} } , { age :
{$gt:50,$lt:60} } ] }").as(User.class);
mardi 4 décembre 12
13. DB db = mongo.getDB("users");
DBCollection collection = db.getCollection("users");
DBObject firstQuery = QueryBuilder.start("age").greaterThan(20).lessThan(30).get();
DBObject secondQuery = QueryBuilder.start("age").greaterThan(50).lessThan(60).get();
DBObject query = QueryBuilder.start().or(firstQuery,secondQuery).get();
DBCursor results = collection.find(query);
List<User> users = new ArrayList<User>();
for (DBObject result : results) {
User user = new User();
user.setUsername((String) result.get("username"));
user.setAge((Integer) result.get("age"));
users.add(user);
}
MongoCollection collection = new Jongo(db).getCollection("users");
Iterable<User> users = collection.find("{ $or : [ { age : {$gt:20,$lt:30} } , { age : {$gt:
50,$lt:60} } ] }").as(User.class);
mardi 4 décembre 12