2017-07-18 5 views
0

Ich habe in einem Projekt mit Entity Manager beteiligt. Es ist ein wenig unklar, warum sollte man es benutzen. Wir haben Datenbanken, in denen Informationen gespeichert werden können. Wenn wir das nicht tun, können wir Klassen verwenden, um Informationen ohne den Entity Manager zu speichern. Die Frage ist, lohnt es sich zu lernen? Ist es ein weit verbreitetes Werkzeug?JPA Entity Manager warum zu verwenden?

Ich weiß, es ist ein bisschen Meinung basiert, aber ich interessiere mich in erster Linie für die Fakten. Aber normalerweise zeigen andere Erfahrungen, wie gut ein Werkzeug ist.

+0

Wenn Sie wissen, dass die Frage off-topic ist, fragen Sie nicht. – Gimby

+0

Ich bin besorgt über die Fakten, aber wie Sie wissen, ist es schwer, nur die Fakten ohne Meinungen zu teilen. –

+0

Java hat Objekte, RDBMS haben Rohdaten, ich finde es oft sehr hilfreich, JDBC-Boilerplate für Objektpersistenz (einschließlich Kaskadierung auf anderen Objekten) zu vermeiden, indem Sie ein JPA-Framework verwenden. Aber es ist immer noch meinungsbasiert. – Berger

Antwort

2

Ja, JPA und Hibernate sind weit verbreitet. Ihre Vorteile sind die Geschwindigkeit der Entwicklung (besonders in den frühen Phasen des Projekts), aber da es eine sehr komplizierte Technologie ist, kann sie nicht jeder effektiv nutzen.

Letztendlich ist es viel wichtiger, JDBC und Datenbanken zu kennen, als ORMs zu kennen. Vor allem, weil alles andere, was mit DBs in Java (einschließlich ORMs) zu tun hat, auf JDBC basiert. Aber auch wenn Sie einen sehr performanten Code schreiben müssen - JDBC könnte die richtige Abstraktionsstufe für Sie sein.

Wenn Sie ORMs lernen möchten, würde ich empfehlen, mit dem Buch POJOs in Action zu beginnen - es erklärt die grundlegenden Prinzipien hinter diesen Frameworks. Und danach check out Java Persistence mit Hibernate - dieser ist technisch beteiligt und beschreibt alle Arten von Funktionen in Hibernate.

Abgesehen von den voll ausgestatteten ORMs gibt es leichtere Technologien, die die JDBC-Last auf niedriger Ebene erleichtern: jOOQ, Spring JDBC, MyBatis.

Verwandte Themen