Im creating a java web server for storing JSON strings with location data (latitude, longitude and time) I wondering if there are any advantages(performance, scalability, maintenance, etc) for using db4o which seems easier to use in java instead of sql, sqlite. Also what are the differences between Hibernate and db4o;
DB4O works entirely differently than a traditional SQL-based RDBMS.
You need to define your requirements better. For instance, DB4O can follow graphs relatively easily -- a specific structure representing the JSON may fit very well in that domain. On the other hand, DB4O absolutely sucks for queries (especially reporting and aggregating) that don't fit into the previously defined graph.
Edit: The above is of my experience with DB4O (I use DB40 in conjunction with a SQL RDMBs) -- I do (and would) still use DB4O because I think it has lots of merits. However, I feel it's much more suited to specific applications which must be well-defined (claw hammer) while a traditional SQL RDMBs (sledgehammer) has a much broader scope and can cope relatively well with even poor or flat schemas and, barring performance considerations, is amendable to "slicing and dicing". Both are tools with overlapping but different purposes -- one can hammer in a nail with a sledgehammer (it might not be pretty) but good look trying to knock down down a cement wall with a claw hammer.