Non è il lavoro per NamingStrategy ?
Otterresti il nome dell'entità gestita (es. Cliente) e dovresti decidere il nome della tabella utilizzato (entityName.toLowerCase()
nel tuo caso).
Una cosa di cui non sono sicuro è se le NamingStrategies vengono prese in considerazione durante la generazione delle tabelle (hbm2ddl).