Unterschied zwischen JDO und Wertobjekt

Unterschied zwischen JDO und Wertobjekt
Unterschied zwischen JDO und Wertobjekt

Video: Unterschied zwischen JDO und Wertobjekt

Video: Unterschied zwischen JDO und Wertobjekt
Video: Graphen einfach erklärt - Graphentheorie 1 2024, November
Anonim

JDO vs. Wertobjekt

JDO ist eine Java-Persistenztechnologie, die verwendet werden kann, um POJO (Plain Old Java Objects) in Datenbanken zu speichern, ohne die zugrunde liegenden Implementierungen verschiedener Datenspeicher verstehen zu müssen. Value Object (auch bekannt als Data Transfer Object) ist ein abstraktes Entwurfsmuster, das das Konzept eines einfachen Datenbehälters einführt, um Daten zwischen mehreren Ebenen und Tiers zu übertragen.

Was ist JDO?

JDO (Java Data Objects) stellt einen Mechanismus bereit, um Persistenz für Java-Objekte und Datenbankzugriff bereitzustellen. JDO ist hochgradig transparent, da es Entwicklern von Java-Anwendungen ermöglicht, auf die zugrunde liegenden Daten zuzugreifen, ohne datenbankspezifischen Code schreiben zu müssen. JDO kann auf mehreren Ebenen verwendet werden, einschließlich Java Standard Edition, Web-Ebene und Anwendungsservern. Die JDO-API ist eine Alternative zu anderer Persistenz (Aufbewahrung von Objekten nach dem Abbruch des Programms) von Java-Objekten wie Serialisierung, JDBC (Java DataBase Connectivity) und EJB CMP (Enterprise JavaBeans Architecture Container Managed Persistence). JDO verwendet XML und die Erweiterung von Bytecode. Der Hauptvorteil der Verwendung der JDO-API besteht darin, dass sie Daten speichern können, ohne dass eine neue Abfragesprache wie SQL (die von der Art der Datenspeicherung abhängt) erlernt werden muss. JDO ist sehr einfach zu verwenden, da sich Entwickler nur auf ihr Domänenobjektmodell konzentrieren können. Darüber hinaus optimiert JDO den Code selbst je nach Datenzugriff. Da die JDO-API den Typ des Datenspeichers nicht strikt einhält, kann dieselbe Schnittstelle von Java-Anwendungsentwicklern verwendet werden, um Java-Objekte in einem beliebigen Datenspeicher zu speichern, einschließlich relationaler Datenbanken, Objektdatenbanken oder XML. JDO ist sehr portabel, da keine Änderung oder Neukompilierung erforderlich ist, um auf Implementierungen verschiedener Anbieter ausgeführt zu werden.

Was ist ein Wertobjekt?

Value Object, auch als Data Transfer Objects (DTO) bekannt, ist ein einfaches abstraktes Entwurfsmuster, das sich mit einem Datencontainer zum Speichern von Daten zum Zweck der Übertragung von Daten zwischen Schichten und Tiers befasst. Obwohl der genaueste Begriff für dieses Muster Data Transfer Object ist, wurde es aufgrund eines Fehlers in der ersten Version von Core J2EE als Value Object eingeführt. Obwohl dieser Fehler in der 2. Auflage korrigiert wurde, wurde dieser Name populär und wird immer noch häufig anstelle von Data Transfer Object verwendet (aber es sollte beachtet werden, dass der korrekte Begriff Data Transfer Object ist). Das DTO-Entwurfsmuster wird mit Entity Beans, JDBC und JDO verwendet, um Probleme zu beheben, die in Bezug auf Isolation und Transaktionen in Unternehmensanwendungen auftreten. Es ist wichtig zu beachten, dass dies nur einfache Datenbehälter sind, die zum Übertragen von Daten zwischen dem Client und der Datenbank verwendet werden, und dass sie keinerlei Persistenz bieten. DTO dient dazu, in herkömmlichem EJB als serialisierbare Objekte zu fungieren (als Entity Beans vor 3.0 sind nicht serialisierbar). In einer separaten, von DTO definierten Assemblierungsphase werden alle von der Ansicht verwendeten Daten erfasst und gemarshallt, bevor die Steuerung an die Präsentationsschicht übergeben wird.

Was ist der Unterschied zwischen JDO und Value Object?

JDO ist eigentlich eine Persistenztechnologie, die zum Speichern von Java-Objekten in Datenbanken verwendet wird, was den Entwicklern Komfort bietet, indem sie alle Details der Implementierungsebene handhabt und es den Entwicklern ermöglicht, sich auf nicht datenbankspezifische Codierung zu konzentrieren. Das Wertobjekt stellt jedoch ein abstraktes Entwurfsmuster (keine Technologie) dar, das einen generischen Datenbehälter bereitstellt, der als Datenübertragungsobjekt bekannt ist und Daten zum Zweck der Übertragung zwischen Client und Datenbanken enth alten kann. JDO bietet die Möglichkeit, Datenelemente zu speichern, während Value Object sich nur mit der vorübergehenden Aufbewahrung von Daten während des Zeitraums der Datenübertragung befasst. Mit anderen Worten, Value Object bietet keine Persistenz.

Empfohlen: