First of all, Hibernate uses dialects to integrate with the database. There's a specific dialect for every possible database (at least I think so).
When you work with hibernate you mostly do not write queries of your own. You use the API provided to talk to the database.
Now, by using the dialects Hibernate can understand the semantics of the database you are connecting to and thus you do not have to bother about it.
Now why is Hibernate Database Independent ... It is because it is not bound to any single database and can be used extensively with most of them even at a single time.
This I think makes hibernate database independent.