Bene, questa è la prima cosa che dovresti correggere (con un monitoraggio adeguato).
Per quanto ne so, Hibernate non fornisce alcuna struttura per questo. Personalmente, esaminerei il supporto di failover di MySQL e del suo driver JDBC. Non posso fornire una risposta molto concreta perché non l'ho implementato con MySQL, ma ecco alcuni suggerimenti:
- Strategia di failover MySQL utilizzando la gestione dello stato, con l'introduzione di MPP - Parte 1
- 21.3.4.1. Nomi delle classi driver/origine dati, sintassi URL e proprietà di configurazione per Connector/J
- 21.3.4.6. Utilizzo della replica master/slave con ReplicationConnection
E, come menzionato in fondo all'ultimo link sopra (e anche in questo commenta ):