Ovladač JDBC funguje dobře.
Jak jste se již dozvěděli v komentářích, problém je v tom, že
a) Spring Data JDBC nyní vyžaduje Dialect
pro každou databázi
b) Spring Data JDBC se nedodává s Dialect
pro Oracle.
Oprava:
Jak je popsáno v Jarní data JDBC Firebird dialekt nebyl rozpoznán a v https://spring .io/blog/2020/05/20/migring-to-spring-data-jdbc-2-0
musíte zadat svůj vlastní Dialect
implementace právě teď.
Něco takového by mělo fungovat:
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;
}
}
Poté musíte vytvořit Dialect
dostupné prostřednictvím DialectProvider
jak je popsáno v odkazované otázce Stackoverflow:
Nějaké pozadí:
Tým Spring Data zatím neprovádí své integrační testy s databází Oracle. Je to proto, že po dlouhou dobu nebylo jasné, jak to provést legální cestou, protože veškerý kód včetně infrastruktury sestavení byl open source a Oracle vyžadoval přijetí všech druhů věcí k použití instance databáze nebo jejich ovladače.
Nyní jsou obrazy Dockeru k dispozici pro testování a ovladač JDBC je dostupný z Maven Central. Je to stále trochu složitější, protože současné možnosti pro obrázky dokovacích stanic, o kterých vím, vám umožňují vybrat si mezi velikostí obrázku mnoha GB nebo dobou spuštění přibližně 15 minut.
Každopádně na problému pracuje člen komunity:https://jira.spring.io/ procházet/DATAJDBC-256
Jsem proto přesvědčen, že v blízké budoucnosti budeme schopni plně podporovat Oracle.