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
2
Q
Object Relational Mapping (ORM)
A
- Ziel: Mapping (Abbilden) zwischen Objekten und Relationen automatisieren
- dafür: Java Persistence API (JPA)
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
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
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
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
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]”)}
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()