I would like to know how much does the database matters when using Hibernate framework. There is a huge difference in standalone databases when comparing for example Oracle and MySql, but I can’t see a big difference when database is hidden behind Hibernate. What would me advantages of using Hibernate in conjunction with more advanced database systems?
Thank you for answers.
Hibernate is more or less a mapping language that lets you call Hibernate methods in your code, and have the Hibernate library convert these method calls into the appropriate JDBC calls (more or less).
So, as long as Hibernate knows how to convert its API calls into the correct, efficient SQL for a given RDBMS, it shouldn’t matter. The “maturity” of the RDBMS may be an issue if it keeps changing features, etc. – but only in the sense that the corresponding Hibernate dialect would need to be continuously updated to deal with that particular version.
In most case, if you’re just using aspects that conform to the SQL standard, you shouldn’t see a problem with Hibernate as it should be able to handle lowest-common-denominator stuff just fine. That said, if you’re using this RDBMS spceifically for its “more advanced” features, you may be disappointed that Hibernate doesn’t take advantage of them (depending on whether the cool features are entirely internal, such as a very performant query optimizer, or are external such as some new SQL commands).