Has anyone here ever used db4o before? It's supposed to be an object database for Java and .NET. Sounds cool if it can store my class objects natively without any translation.

They also have this new Native Query system that makes db queries look like just another function call:

students = database.Query( new Predicate{
     public static bool Match (Student candidate){
        return candidate.getAge() < 20
          && candidate.getGrade() == GradeA;
The database system analyzes your bytecode to optimize the query to use indexes, etc.

Anyone else have any ideas?