



ObjectContainer database = Db4oEmbedded.openFile(
Db4oEmbedded.newConfiguration(),
"database.db4o"
);
try {
//queries!
} finally {
database.close();
}try block. Closing in finally.database.store(object);
//retrieve
object.setFoo(bar);
database.store(object);
//retrieve
databse.delete(object);null).database.activate(). Can be done transparently.database.commit().database.rollback().database.ext().refresh() for refreshing live objects.//get list of matched elements
List<Type> list = database.query(Predicate<Type> p);
//and predicate?
new Predicate<Student> {
public boolean match(Student s) {
return s.getAvg() > 4.5
&& s.getMaWtykiWDziekanacie();
}
}//from official tutorial
//retrieveByConjunction
Query query=db.query();
query.constrain(Pilot.class);
Constraint constr=query.descend("name").constrain("Michael");
query.descend("points").constrain(99).and(constr);
ObjectSet result=query.execute();
//retrieveByDisjunction
Query query=db.query();
query.constrain(Pilot.class);
Constraint constr=query.descend("name").constrain("Michael");
query.descend("points").constrain(99).or(constr);
ObjectSet result=query.execute();final String[] names = {"Hiler", "Kowalski"};
List<Student> result=database.query(
new Predicate<Student>() {
public boolean match(Student s) {
for (String name : names) {
if (s.getLastName().compareTo(name))
return true;
}
return false;
}
}
);