IUBH IPWA02 Programmierung von industriellen Informationssystemen mit Java EE
IUBH IPWA02 Programmierung von industriellen Informationssystemen mit Java EE
IUBH IPWA02 Programmierung von industriellen Informationssystemen mit Java EE
Kartei Details
Karten | 39 |
---|---|
Sprache | Deutsch |
Kategorie | Informatik |
Stufe | Universität |
Erstellt / Aktualisiert | 06.03.2017 / 08.10.2024 |
Weblink |
https://card2brain.ch/box/20170306_iubh_ipwa02_programmierung_von_industriellen_informationssystemen_mit_java_ee
|
Einbinden |
<iframe src="https://card2brain.ch/box/20170306_iubh_ipwa02_programmierung_von_industriellen_informationssystemen_mit_java_ee/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Lernkarteien erstellen oder kopieren
Mit einem Upgrade kannst du unlimitiert Lernkarteien erstellen oder kopieren und viele Zusatzfunktionen mehr nutzen.
Melde dich an, um alle Karten zu sehen.
Was bedeutet @Id?
Speichert den Wert als Schlüsselattribut in den DB
Was bedeutet @Temporal (TemporalType. DATE) ?
Kennzeichnet zeitliche Angaben.
Was macht der EntityManager?
Stellt die Verbindung zur Datenbank aus der eigenen Anwendung her und bietet die grundlegenden Methoden zum Speichern, Aktualisieren und Löschen von Objekten in derDatenbank.
Wie wird ein CommandLink erzeugt?
<h:commandLink id="neuerArtikel" value="Artikel erstellen" action="#{artikelController.add()}"/>
Wie wird ein Entity in der DB gespeichert?
Mit der Methode persist von EntityManager wird ein Objekt in der Datenbank gespeichert.
void saveArticle(Artikel neuerArtikel) {
EntityManager em = entityManagerFactory.createEntityManager();
EntityTransaction t = em.getTransaction();
t.begin(); //Starten der Transaktion
em.persist(neuerArtikel); //Persistieren des neuen Artikels
t.commit(); //Beenden der Transaktion
em.close(); //Schließen des EntityManagers
}
Was ist eine Transaktion?
Kapselt alle verändernden Operationen, sodass sie entweder am Stück oder gar nicht ausgeführt werden.
Alle verändernden Operationen müssen in einer Transaktion ausgeführt werden!
Wie können Daten in der DB aktualisiert werden?
Mit der Methode merge von EntityManager aktualisiert man einen bereits vorhandenen Datensatz mit den Werten aus
dem übergebenen Objekt.
em.merge(neuerArtikel);
Wie können Schlüsselattribute automatisch hochgezählt werden?
Die Annotation @GeneratedValue wirkt sich auf die Tabellendefinition aus und bewirkt die automatische Erzeugung eines
Wertes für ein Schlüsselattribut.
@Id
@GeneratedValue(strategy = GenerationType. AUTO)
private int nr;
Was sind Assoziationen zwischen Objekten?
Beziehungen zwischen Objekten
Welche Assoziationen gibt es?
@OneToMany
Ein Objekt steht mit mehreren anderen in Beziehung. Es verwaltetdiese im Allgemeinen in einer Aufzählung.
@ManyToOne
Das Gegenstück zur Annotation @OneToMany
@ManyToMany
Die assoziierten Objekte tauchen auf beiden Seiten der Assoziation in Aufzählungen auf.
@OneToOne
Eine Eins-zu-Eins-Beziehung zwischen zwei Objekten; auf beiden Seiten als Attribut repräsentiert.
Wie werden Assoziation in der DB dargestellt?
Assoziationen zwischen Objekten werden in einer Assoziationstabelle in der Datenbank gespeichert. Sie enthält Verweise
auf die in Beziehung stehenden Datensätze.
Vererbung mit JPA?
Die Vererbung mittels extends wird von JPA automatisch beachtet und umgesetzt.
Kein weiteres Schlüsselattribut!
Wie werden weitere Attribute bei einer Veerbung in der DB dargestellt?
Die Standard-Strategie bei der Abbildung von Vererbungsbeziehungen in der Datenbank ist das Erweitern der
klasse um Spalten für die zusätzlichen Attribute der Unterklasse.
Mit der Annotation @Inheritance kann die StandardStrategie angepasst werden.
Die Annotation muss in der obersten Oberklasse angegeben werden!
Dann wird eine neue Tabelle erstellt!
@Entity
@Inheritance(strategy = InheritanceType. JOINED)
public class Artikel {
Jede Unterklasse erhält eine
eigene Tabelle; ein
Fremdschlüssel dient zur
Identifikation des Oberklasse-
Datensatzes.....
Wie kann man Objekte aus der Datenbank entfernen?
Mit der Methode remove von EntityManager löscht man Objekte aus der Datenbank.
void deleteRatingForArticle(Bewertung bewertung, Artikel artikel) {
EntityManager em = entityManagerFactory.createEntityManager();
EntityTransaction t = em.getTransaction();
t.begin();
artikel = em.merge(artikel);
bewertung = em.merge(bewertung);
t.commit();
artikel.getBewertungen().remove(bewertung);
t.begin();
em.merge(artikel);
em.remove(bewertung);
t.commit();
em.close();
}
Beim Löschen von Objekten spielt die Beachtung der referentiellen Integrität eine entscheidende Rolle!
Was sind Data Access Objects(DAO`s)?
Kapseln sämtliche Datenbankoperationen für einzelne Entitäten.
Für jede Entität gibt es eine korrespondierende DataAccess ObjectKlasse.
Was versteht man unter Pflichtpfeld-Validierung?
Die Überprüfung ob der Benutzer eine zwingend erforderliche Eingage getätigt hat
<h:inputText required="true"/>
Was versteht man unter Format-Validierung?
Die Überprüfung ob der Benutzer ein bestimmtes Format eingehalten hat
<h:inputText ......>
<f:validateRegex pattern="[a-zA-Z0-9]+.(jpg|jpeg|png|gif)"
</h:
Was ist die Fachliche-Validierung?
Einhaltung von Wertebereichen
Was sind Benutzerdefinierte Validierer?
Selbstentwickelte Validierungen, meistens in der Controller Klasse
Was ist ein Standard-Konvertierer?
Automatisches Umwandeln einer Benutzereingabe
Die Eingaben stehen als Zeichenkette in der Komponente und werden dann automatisch in den Datentyp passend zum verknüpften Attribut umgewandelt
Standard-Konvertierers Datum?
<f:convertDateTime type="date" dateStyle="short" pattern="dd.MM.yyyy" />
Standard-Konvertierer Währung
<f:convertNumber type="currency" currencySymbol="EUR" />
Fehlermeldung direkt an der Komponente anzegen?
<h:message for="nameDerInputKomponente" />
Seitennavigation mit JSF?
<h:commandLink value="Login" action="#{controller.login()}" />
Events mit JSF?
Es gibt Komponenten die Ereignisse generieren und Komponenten die Ereignisse empfangen.
in einer Komponente:
<f:event type="javax.faces.event.PostValidateEvent" listener="#{controller.postValidate()}" />
Was bedeutet AKID im zusamenhang mit Datenbanken?
Atomarität
Änderungen werden, wenn sie aus mehreren einzelnen Werteänderungen bestehen, ganz
oder gar nicht ausgeführt.
Konsistenz
Zusammengehörige Datensätze müssen eindeutig identifizierbar sein. Über die eindeutige
Identifikation können Datensätze auf andere verweisen.
Isolation
Der gleichzeitige Zugriff auf den persistenten Speicher darf nicht zu Beeinflussungen
führen.
DauerhaftigkeitAlle Daten, die fehlerfrei und unter Beachtung der obigen Anforderungen gespeichert
wurden, sind nach dem Speichern beständig gespeichert und für alle lesenden Zugriffe
sichtbar.
Nur durch eine explizite Löschung dürfen Daten entfernt werden.
Was sind Datenbankmanagementsysteme (DBMS)?
Datenbankmanagementsysteme werden für die Persistierung von Daten verwendet.
Sie sind eigenständige Programme,die einen persistenten Datenspeicher verwalten.
Was sind Relationale Datenbanken?
Vertreter von Datenbankmanagementsystemen.
Relationale Datenbanken speichern Datensätze gleichen Typs in Tabellen.
Eine Zeile enthält alle Werte eines Datensatzes
DieSpalten enthalten die einzelnen Attributwerte.
Was sind Fremdschlüssel?
Fremdschlüssel werden in einem Datensatz als Verweis auf einen anderen Datensatz verwendet.
Objektrelationales Mapping?
Die relationale und die objektorien tierte Sicht lassen sich aufeinanderabbilden
Tabellen stehen für Klassen,
Datensätze für Objekte
Spalten für Attribute
-
- 1 / 39
-