Wir verwenden JDBC seit sehr langer Zeit in unseren Webanwendungen. Der Hauptgrund, warum wir es benutzt haben, ist, weil wir 100% Kontrolle über den Code haben, sql und Dinge von unseren Händen reparieren. Außerdem haben wir Trigger in der Datenbank verwendet, und die Datenbank wird von DB Experten separat entwickelt.JDBC VS Hibernate
Allerdings empfehlen viele jetzt Hibernate
, so dass wir auch darüber nachgedacht haben, es zu verwenden. Aber wir fanden die folgenden Probleme.
Hibernate kann keine Verbindung mit einer "vorhandenen" Datenbank herstellen. Es versucht immer ein eigenes zu schaffen.
Unsere Datenbank greift möglicherweise auf dieselbe Anwendung zu, die sich auf verschiedenen Plattformen (Cloud, Server, VPS, Personal Computer) befindet. Hibernate kann in diesem Fall aufgrund seiner Zwischenspeicherung Probleme verursachen.
Wir möchten nie die "Tabelle, die Arbeit" dem Java-Code geben. Wir erstellen Tabellen immer manuell.
Wir müssen möglicherweise sehr lange und komplexe SQL-Anweisungen verwenden. Letztes Mal haben wir eine Anweisung mit mehr als 150 Zeilen verwendet, die mehr als 20 Tabellen umfasst. Wir bezweifeln, dass wir Probleme haben werden, wenn es um Hibernate geht.
Unser SQL-Code ist nett und Standard. Hibernate-generierter Code scheint für uns etwas dreckig zu sein.
Wir verwenden immer MySQL. Niemals eine andere DB benutzen.
Die Anwendung, die wir erstellen, erfordert maximale Sicherheit, bezogen auf medizinische. Wenn mindestens ein Datensatz durchgelaufen ist, sind wir fertig.
Es gibt viele
foreign keys
,Primary Keys
,Composite Keys
,Unique Keys
etc etc in der Datenbank. In Foren beklagten sich einige, dass Hibernate damit zu tun hatte.Wir beschlossen, zu versuchen, überwintern, weil einige Leute behauptet: „Sind Sie Software Engineers? Sie verwenden bereits tot
JDBC
!!“.
diese Anbetracht, lass es mich wissen, ob die oben genannten Punkte sind eigentlich wahr (wie ich schon sagte, ich habe sie durch googeln, diskussionen etc. kennengelernt) oder nicht. Und was sind die Vor- und Nachteile von Hibernate VS Java JDBC?
1 + 3: Sie müssen nicht in der Ruhe erstellen lassen die Tabellen für Sie. 2: Sie müssen kein Caching verwenden. 4 + 5: Das verstehe ich. Vielleicht möchtest du ja auf jOOQ schauen. Tippen Sie Java DSL für handgeschriebenes SQL ein, ohne in ORM zu gelangen. 6: Hibernate unterstützt MySQL. 7: Das scheint eine ganz andere Frage ist (hat nichts mit dem zu tun, was den Datenbankzugriff Bibliothek Sie verwenden) – Thilo
@ Alex: Danke für die Antwort. Ich habe 2 weitere Punkte hinzugefügt, bitte werfen Sie einen Blick darauf. –
@Thilo: Danke für den Kommentar. Ich habe 2 weitere Punkte hinzugefügt, bitte schaut es euch an. –