How pathetic is it to use something like Hibernate to provide the required transaction isolation for your data ?
And even if in this fantasy world someone authorises a project to run on a database relying on 3rd party for proper transactional support, what do you do when you need to view or god forbid alter data from a session not protected by every java script kiddie's favourite pet (aka hibernate) ? Who's going to provide required isolation then ? Crystal Reports ? /usr/bin/mysql ? The ODBC driver ?
How pathetic is a database how's been around for at least a decade and has failed to produce convincing results in supporting transactions ? Read the comments down at http://dev.mysql.com/doc/mysql/en/ansi-diff-transactions.html
- really worrying. Does mysql not use a transaction log ?
How pathetic is a database that has had transaction, trigger, view, subquery support for about 1/100th of its lifetime ?
How pathetic is a database that has no stored procedures ?
That has horrible bugs like re-issuing the auto-increment value after rollback/shutdown/restart ?
That simply crashes on querys and leaves you no choice apart from restoring previous backup on another machine and upgrade ?
How pathetic is to look up to a pet database, to drool over the features and stability of something probably done as R&D by summer interns at SAP (namely SAP-DB) ?
These are only a part of the flagrant, in your face flaws. Do not even get me started on what's nice and cool and productive about other databases, while mysql does not even know when it's going to go to sleep and begin dreaming about going to sleep and begin dreaming about them. Async IO ? Tablespaces ? PITR ? Analytics ? Materialised views ? Partitioning ? Unicode is available starting with 4.1.1 - the very latest version.
By the way, did you know that mysql is GPL ? That means that if you write a piece of software that uses it and it connects through either their JDBC driver, .NET or the native C interface, you're linking to GPL code and your as* is GPL as well:
By downloading the software from this page, you acknowledge that the software available from here is licensed under the GPL. We advise that you review the GPL before downloading.
If you need commercial, non-GPL, licenses, you can order them online.
Why would anyone in the right mind choose to pay for mysql when they can use Postgresql for free, which is a decade ahead of mysql in terms of features and maturity thereof ?
Granted, MySQL AB guys know their shit, they're a lot better at doing business, creating hype and buy-in than say people involved with PostgreSQL or Firebird. Granted, it's hard to find any ISP that does not provide mysql. But by god that doesn't make it right. It's like saying right, fast foods are everywhere so they must be just right for me, cause like, you know, they're like easy and cheap and shit. Well, guess again.
The world does not start and end with your hibernate. Nor with your uber potent jboss j2ee server. Also it seems that you're not aware that application servers mediates 2PC between parties that have to have proper transactional support at a minimum (real databases do) and moreover they need to be acknowledge the fact that they're part of a distributed transaction.
Remember, data is here to stay.
Careful where you choose to store it, it's definitely the only thing that's going to survive from the project, if anything at all.