Sto sviluppando un'applicazione Web Java che utilizza Hibernate (basato su annotazioni) per le entità persistenti in un database Oracle 11g. Il DBA ha creato sinonimi per le tabelle e mi ha chiesto di utilizzare questi sinonimi al posto delle tabelle fisiche. (Esempio: Tabella "Foo" ha il sinonimo "S_Foo")Hibernate Schema Validation Fails su Oracle Table Sinonimi
Se ho "hibernate.hbm2ddl.auto = validate" abilitato, l'applicazione non riesce all'avvio con "Missing Table: S_Foo". Se spengo la convalida, l'app si avvia correttamente e funziona correttamente. La mia ipotesi è che Hibernate controlli solo contro tabelle fisiche e non sinonimi quando convalida che esiste una tabella.
C'è un modo per abilitare la convalida dello schema di Hibernate con i sinonimi? Posso specificare sia una tabella fisica che un sinonimo nell'annotazione? Preferisco avere quella verifica di sicurezza extra che la struttura della tabella sia corretta all'avvio dell'applicazione.
Puoi pubblicare la traccia dello stack completo e menzionare anche le versioni di Hibernate, del driver jdbc e del dialetto. –
I sinonimi creati come sinonimi PUBLIC o sinonimi di proprietà dell'utente che Hibernate effettua l'accesso come? Questo potrebbe influenzare il risultato. (o potrebbe non) –