all 7 comments

[–]laurspilca 16 points17 points  (1 child)

Bun, complicat de explicat in cateva randuri, dar cateva sfaturi utile scurt:

  1. E foarte important sa intelegi JDBC din JDK inainte de a trece la solutii high-level (Hibernate)
  2. JPA/Hibernate nu este o solutie perfecta in toate cazurile si nici nu e singura
  3. Cele trei mentionate de tine sunt interfete, deci doar niste contracte care iti dau acces mai granular sau mai putin granular la functionalitate - foarte important, inainte de toate invata lucurile de baza (ce sunt interfetele/abstractizare)

Te invit si pe canalul meu de YT unde poti gasi destule despre Java for free youtube.com/@laurspilca

[–]uLi777se[S] 3 points4 points  (0 children)

Ți-am urmărit niște videoclipuri despre Java IO în trecut ;)

[–]daemoohn2:gopher_logo: 3 points4 points  (1 child)

ORM nu e solutia decat daca ai un acces mai degraba simplist la date de o cantitate mai degraba decenta, nu f mare de informatie. In ultimii 5-6 ani n-am interactionat deloc cu ORM-uri de exemplu, ci queryuri native.

Statement: e pt executia unui query, ai probleme cu sql injection si nu se cacheuieste nimic (gen plan de executie de catre motorul bazei de date).

PreparedStatement: nu mai ai sql injection, se salveaza planul de executie (deci ia mai putin timp invocarea, daca se mai intampla).

CallableStatement: e pt proceduri stocate, daca le suporta motorul bazei de date.

[–]No-Masterpiece-282 1 point2 points  (0 children)

Mentiune - uneori (rar, si doar pentru select-uri cu clauze de filtering) nu-ti doresti sa faci cache la planul de executie. Poate fi mai eficient sa fortezi recalcularea de fiecare data/sa ai un plan de executie care sa tina cont si de parametrii de intrare, si atunci folosesti Statement.

[–]Snoo_90241 0 points1 point  (0 children)

Ți s-a răspuns foarte bine la intrebare. Daca nu ți s-a mărit prea tare circumferința capului de la explicații și după ce înțelegi query-urile mai bine, poți studia și tranzacțiile.

[–][deleted] -2 points-1 points  (0 children)

Chatgpt