I think you are saying that you have a single machine, on it you have both an application using Hibernate and a MySql database. If you lose that machine your users cannot work. You are asking whether some additional resilience is possible and believe that you have identified two solutions.
You don't give much detail about either solution, so I'm not going to try to second guess what you have in mind.
You also don't say much about about the nature of the application. If (for example) it was entirely read-only, no database updates then replication is comparatively easy. If all writes are additive and cannot conflict (for example some kind of opinion poll, vote yes/no) then again replication with perhaps a bit of queueing is comparatively easy.
However a traditional application with users updating shared data, where a consistent view is
important (for example we don't want to sell the last available hotel room twice) then replicating gets tricky.
One approach is to separate the database to a highly resilient tier, products such as Oracle RAC have very clever resilient characteristics, and I guess you pay for cleverness. Once you have a resilient database then clustering your application becomes much easier. I often see lots of cheap boxes running the app in parallel because the definitive "truth" is managed by the DB.
However, even this is tricky unless the app was designed up-front for replication. You find all manner of subtle assumptions are made on the basis of the App is some sense being able to rely on it's previous view of truth. Products like Terracotta may well (I've never tried, so I don't know) help to implement a resilient design but unless the design is well thought through it may have business flaws.
I interpret your idea as being to run multiple parallel copies of the app and db and the deal with synchronisation issues. Only you know whether this makes sense for your business requirements. You would be opening up the possibility of inconsistency, especially in the times when failures have occurred and resynchronisation has not completed.