Java-sovellukset käyttävät perinteisesti tekniikoita, kuten JDBC (Java Database Connectivity), pääsyyn relaatiotietokantoihin tietojen säilyttämiseksi jatkuvasti. Pääongelma oli ero oliokeskeisen ja relaatioteknologian välillä. JDBC-sovellusliittymä vaatii kehittäjiä käsin koodaamaan alkeellisimmat CRUD-toiminnot (luominen, lukeminen,...