JPA Flashcards

1
Q

Schwächen von JDBC

A
  • Abbildungen zw. Variablen der Objekte und Attribute der Relation sehr aufwendig
  • Abbildungen müssen rein manuell programmiert werden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Object Relational Mapping (ORM)

A
  • Ziel: Mapping (Abbilden) zwischen Objekten und Relationen automatisieren
  • dafür: Java Persistence API (JPA)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Java Persistence API (JPA)

A
  • Standard zur Persistierung von Objekten, der Mapping zwischen Objekten und Relationen automatisiert
  • spart viel Programmierarbeit
  • JPA ist ein Standard, KEINE Implementierung
  • JPA-Provider implementieren den Standard
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Grundidee von JPA

A
  • Datenbank-Zugriffe und SQL-Befehle sollen durch Bibliothek selbst erstellt werden
  • Entwickler können vorgefertigte Methoden zum Speichern, Ändern, Laden usw. verwenden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Entitätsklassen

A
  • Klassen, deren Objekte von JPA persistiert werden sollen
    @Entity –> kennzeichnet Entitätsklasse
    @Id –> kennzeichnet Primärschlüssel
    @GeneratedValue –> ID-Wert soll beim Persistieren automatisch gesetzt werden
    @Table (name = “[Name]”) –> kennzeichnet anderen Tabellenamen in Datenbank
    @Column (name = “[Spaltenname]” –> kennzeichnet anderen Spaltennamen in Datenbank
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Beziehungen zw. Entitäten

A
  • 1:1-Beziehung –> @OneToOne und @JoinColumn (name = “[Spaltenname]”)
  • n:1-Beziehung –> @ManyToOne und @JoinColumn (name = “[Spaltenname]”)
  • n:m-Beziehung –> @ManyToMany und @JoinTable für Hilfstabelle
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Annotationen für Hilfstabelle bei n:m-Beziehungen

A

@ManyToMany
@JoinTable( name = “[Name Hilfstabelle]” , joinColumns = {@JoinColumn ( name = “[Name Tabellenspalte eigene Klasse]”)} , inverseJoinColumns = {@JoinColumn ( name = “[Name Tabellenspalte andere Klasse]”)}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Objektlebenszyklus einer Entität

A
  • Objekte von Entitäten werden von der Klasse EntityManager verwaltet
  • durchlaufen Lebenszyklus:
    1) new() –> transient
    2) find() –> managed
  • von transient zu managed mittels persist()
How well did you know this?
1
Not at all
2
3
4
5
Perfectly