Súhlasím.
Pozrite si iBATIS. Umožní Vám použiť všetky špeciality danej DB.
Uvediem príklad Oracle vs. MS SQL. V MS SQL použijem autoincrement a v Oracli sequence generátor. Taktiež môžem použiť na mieru šitú storovanú procedúru.
iBATIS mi umožní v Jave napísať jednoduchú metódu v business logike, napr. "Personnel.getStupidManagers()". Pritom len správne nakonfigurujem ORM engine iBATIS tak aby pri volaní tejto metódy zavolal napr. storovanú proc v Oracli, ale pri nakonfigurovaní MS SQL to môže byť view. Krásne je to, že vrstva business logiky nevie nič o tom aká DB je momentálne použitá.