Il driver JDBC funziona bene.
Come hai già appreso nei commenti il problema è che
a) Spring Data JDBC ora richiede un Dialect
per ogni database
b) Spring Data JDBC non viene fornito con un Dialect
per Oracle.
La correzione:
Come descritto in Dialetto Spring Data JDBC Firebird non riconosciuto e in https://spring .io/blog/2020/05/20/migrating-to-spring-data-jdbc-2-0
devi fornire il tuo Dialect
implementazione in questo momento.
Qualcosa del genere dovrebbe funzionare:
class MyOracleDialect extends AnsiDialect {
private static final LimitClause LIMIT_CLAUSE = new LimitClause() {
@Override
public String getLimit(long limit) {
return String.format("FETCH NEXT %d ROWS ONLY", limit);
}
@Override
public String getOffset(long offset) {
return String.format("OFFSET %d ROWS", offset);
}
@Override
public String getLimitOffset(long limit, long offset) {
return String.format("OFFSET %d ROWS FETCH NEXT %d ROWS ONLY", offset, limit);
}
@Override
public Position getClausePosition() {
return Position.AFTER_ORDER_BY;
}
};
@Override
public LimitClause limit() {
return LIMIT_CLAUSE;
}
}
È quindi necessario creare il Dialect
disponibile tramite un DialectProvider
come descritto nella domanda Stackoverflow di riferimento:
Un po' di background:
Finora il team di Spring Data non ha eseguito i test di integrazione con un database Oracle. Questo perché per un po' di tempo non era chiaro come farlo in modo legale poiché tutto il codice, inclusa l'infrastruttura di compilazione, era open source e Oracle richiedeva l'accettazione di tutti i tipi di elementi per utilizzare un'istanza di database o il relativo driver.
A questo punto le immagini Docker sono disponibili per il test e il driver JDBC è disponibile da Maven Central. È ancora un po' complicato poiché le attuali opzioni per le immagini Docker di cui sono a conoscenza ti consentono di scegliere tra una dimensione dell'immagine di molti GB o un tempo di avvio di circa 15 minuti.
Ad ogni modo c'è un membro della comunità che sta lavorando al problema:https://jira.spring.io/ sfoglia/DATAJDBC-256
Sono quindi fiducioso che saremo in grado di supportare completamente Oracle nel prossimo futuro.