Questão | Responda |
Was ist Impedance Mismatch (IM)? | IM bezeichnet man ein Problem der Informatik in der Anwendungsentwicklung, das auftritt, wenn Objekte aus einer objektorientierten Programmiersprache in einer relationalen Datenbank gespeichert werden. |
Geben Sie drei Varianten an, wie ein Objekt in eine Datenbank gespeichert werden könnte. | 1. Eine Tabelle für alle Klasse 2. Eine Tabelle pro konkrete Klasse 3. Eine normalisierte Tabelle pro Ableitungshierarchie-Ebene |
Zeigen Sie den Weg mit einem Framework, das die Übersetzung zwischen "objektorientiert" und "relational" möglichst automatisch vornimmt inkl. Beispielen | Der Weg: 1. Spezifikation mit benötigten Funktionalitäten erstellen. 2. Implementierung von Funktionalitäten, die in der Spezifikation definiert wurden. Beispiel: - JPA als Spezifikation und - Hibernate/ EclipseLink/OpenJPA als Implementierung (Provider) |
Was ist Java Persistence API (JPA)? | Die Java Persistence API (JPA) ist eine Schnittstelle für Java-Anwendungen, die die Zuordnung und die Übertragung von Objekten zu Datenbankeinträgen vereinfacht. |
Nennen Sie Vorteile von JPA | - ermöglicht das Speichern von Daten auf OO - Weise (als Objekte) - einfach im Gebrauch und nicht von irgendeinem Provider abhängig - in der Industrie von führenden Unternehmen eingesetzt - stellt die Portabilität von Anwendungen sicher - kann sowohl mit JEE als JSE verwendet werden |
Nennen Sie Anforderungen für ein JPA | - Verbindungsverwaltung - Mapping von Klassen und deren Felder auf Tabellen und Spalten (Attribute) - Formulierung und Ausführung von SQL - Befehlen - Transaktionssteuerung - Verwaltung von Relationen und Navigation darüber - Abbildung von Vererbungsbeziehungen - Generierung technischer Ids Zurverfügungstellung objektorientierter Suchmöglichkeiten - Caching von Daten |
Was sind Annotationen? | - sind Sprachelemente, mit denen das Einbinden von Metadaten in den Quellcode möglich wird - beginnen mit dem Zeichen @ gefolgt von dem Namen der Annotation |
Der Ablauf von EclipseLink? | |
JPA mit EclipseLink - Was bedeudet Entity? | - Bezeichnung für leichtgewichtige Objekte (POJO), deren Zustände in einer Datenbank zu verwalten sind Beispiele: Adresse, Person, Buch |
JPA mit EclipseLink - Für was gibt es die Klasse Persistence (javax.persistence.Persistence)? | - für die Erzeugung der EntityManagerFactory - Instanz zuständig - benötigt den Namen der "Persistence Unit" |
JPA mit EclipseLink - Wofür ist das Interface EntityManagerFactory (javax.persistence.EntityManagerFactory) zuständig? | - für das Erzeugen von EntityManager - Instanzen und - den Aufbau der Verbindung zur Db zuständig |
JPA mit EclipseLink - Für was gibt es das Interface EntityManager (javax.persistence.EntityManager)? | - wird von der EntityManagerFactory kreiert und - ist für die Verwaltung von Entities zuständig |
JPA mit EclipseLink - Zuständigkeitsbereich für das Interface EntityTransaction (javax.persistence.EntityTransaction) | - ist für die Verwaltung von Transaktionen zuständig |
Was versteht man unter Persistenzkontext? | - Die Summe aller von einem EntityManger verwalteten Entities - Kann sich, je nach Bedarf, ändern |
Der EntityManager muss zu jedem Zeitpunkt den Zustand eines Entitys kennen. Nennen Sie zwei Zustände? | - ist sie neu hinzugefügt, aber noch nicht gespeichert worden - ist sie geändert worden (update) |
Für was braucht der JPA-Provider diverse Informationen? | - Verbindung zur Datenbank aufzubauen und - Tabellen anzulegen |
Wie können die Informationen an den JPA-Provider zur Verfügung gestellt werden? | -in der Datei persistence.xml (statisch) oder - während Laufzeit (dynamisch) |
Kreieren Sie ein EntityManager-Objekts | |
Kreiren Sie eine EntityManager Methoden | |
Java Persistence API mit EclipseLink - Wie können Sie die Transaktion starten, Objekte erstellen und speichern, Änderungen in der DB speichern sowie den EntityManager schliessen? | |
Ein Entity kann sich in drei Zuständen befinden. Wie heissen diese Zustände? | - Detached - Persistent - Transient |
Wie sieht der Ablauf der Entity der drei Zustände aus? | |
Wie sieht der Lebenszyklus eines Entity aus? | |
Was bedeutet void persist (Object entity)? | fügt die übergebene Entity in den Persistenzkontext des EntityMangers: falls es sich um eine neu erstellte Entity handelt, wird sie so persistiert |
Was bedeutet void remove (Object entity)? | die übergebene Entity wird zum Löschen markiert und aus dem Persistenzkontext des EntityMangers entfernt |
Was bedeutet void flush ()? | erzwingt die Synchronisation aller im Persistenzkontext des EntityMangers enthaltenen Entities mit der Datenbank |
Was bedeutet boolean contains (Object entity)? | sagt aus, ob sich die übergebene Entity im Persistenzkontext des aktuellen EntityMangers befindet oder nicht |
Was bedeutet <T> T merge (T entity)? | erstellt eine Kopie der übergebenen Entity und fügt sie in den Persistenzkontext des EntityManagers |
Was bedeutet void clear ()? | entfernt alle Entities aus dem Persistenzkontext des EntityMangers und überführt sie somit in den detached-Zustand |
Was bedeutet <T> T find (Class<T> entityClass, Object primaryKey)? | findet das Objekt an Hand des übergebenen Primärschlüssels |
Was bedeutet Query createQuery(String qlString)? | erstellt eine Anfrage an Hand der übergebenen QL-Anfrage |
Was bedeutet Query createNativeQeury(String sqlString)? | erstellt eine SQL-Anfrage |
Eine Query-Instanz wird von dem EntityManager erstellt. Wie sieht das im Code aus? | |
Mit welchen Methoden kann die Abfrage auf die Datenbank durchgeführt werden? | |
Der Rückgabewert der beiden Methoden zur Abfrage der Datenbank ist nicht typisiert und muss gecastet werden. Wie sieht dies im Code aus? | |
JPA ermöglicht das Einfügen von Parametern in eine konkrete Anfrage. Die Markierung von Parametern kann mit was durchgeführt werden? | - mit dem Namen oder - mit dem Index |
Was ist Java Persistence Query Language? | - erinnert an SQL, ist jedoch im Gegensatz zu SQL voll objektorientiert - ist nicht case sensitive – abgesehen von Klassen- und Attributnamen |
Was ist ein Kartesischen Produkt | JPQL-Abfrage, bei welcher mehrere Entities angegeben werden |
Quer criar seus próprios Flashcards gratuitos com GoConqr? Saiba mais.