Just my 2 cents din Java world.
Am intalnit foarte multi developeri care sustin ca cel mai eficient e sa iti scrii codul in SQL si sa il rulezi.
E foarte adevarat.
La fel de adevarat si ca cel mai rapid cod este cel scris in assembler.
Pentru mine cel putin beneficiile Hibernate sunt cele referitoare la modul in care gandesc o aplicatie, in termeni de obiecte si nu tabele si cum poate face aceasta trecere de la o paradigma la asta.
Pentru unele cazuri nu ai nevoie de ORM (aplicatii cu o singura tabela cu nivel minim de normalizare).
Imediat ce avansezi spre paradigma relationala si informatie distribuita, vei gasi nevoia asta din ce in ce mai clar.
Evident e foarte greu de invatat Hibernate/ JPA. Am acasa o carte imensa :Java Persistence With Hibernate.
Vlad Mihalcea are ca singur domeniu de activitate imbuntatirea performantei aplicatiei cu Hibernate si nu someaza.
Singura iluzie e ca ar fi si mai usor (asta credeam cand abia incepusem)decat sa faci persistenta cu SQL.
De multe ori trebuie sa gandesti mult mai multe aspecte si configurari , pentru performanta si scalabilitate optime.
Mai exista si solutia de mijloc iBatis/MyBatis care te lasa oarecum la mijloc intre ORM si SQL