When I first found db4o a year ago, I was, and still am, convinced that it answered all my prayers regarding the true object-oriented model.
Brian Blockhart in "Pushing the db4o Limits"
Well, I've finally decided to turn my back on, at least for the present time, Hibernate and all things RDMS, and go ahead developing with db4o and OODB.
So, why the switch? Lets just say that I like having as little between me and my objects (of desire) as possible. I like being able to store my objects in one line of code, and retrieve them almost as cleanly. Plus, DB4O is it's own API and DB in one jar - which goes a long way towards avoiding the jar bloat you'd face if you wanted to ship your app as a standalone ear / war, especially compared to Hibernate (even more so if using Annotations > Validator > Entity Manager).
Charles Burrell
Through Linq, I can express exactly what I want. I can work with the database as if it were an advanced collection in memory, and get back my own domain objects without having to make some form of mapping. Working with persistert data has never been easier!(in Norwegian)
http://blog.kjempekjekt.com/2009/02/27/objekt-orienterte-databaser-del2-db4objects(automatic translation to English)
db4o is a popular object database available both for Java and .NET. I have used it sporadically over several years and can highly recommend it. It is a non-intrusive, very simple to learn, object persistence system that stores any complex object with one single line of code. Unfortunately Db4o is still not as popular with Java developers as we thought it would be. So we thought of giving you a very easy and useful guide to learning db4o.
http://blog.taragana.com/index.php/archive/how-to-learn-db40-java-and-net-object-database-in-5-minutes
"But the major benefit of starting with Db4Objects is it takes 3 lines of code to save a object and not much more to query one allowing me to worry about my tests and my application and not worry to much about my data store and as long as the data store is under a repository this can be switched out at a later date this is even more simple if we are using IOC / DI.
My final bonus for using DB4Objects is how elegant it is, on a personal basis i love to work with it , to me it makes persistence into what it should be a seamless simple operation that in no way impacts development progress"
Neil Martin