03 JDBC Flashcards
@ Tabelle
@Entity
@ Tabelle hat in Datenbank anderen Namen
@Table(name = “echterName”)
@ Über Primärschlüssel
@Id
@ nach Primärschlüssel wenn Id automatisch erstellt werden soll
@GeneratedValue
@ 1 zu n
MUSS IN n DB SEIN
@ManyToOne
@JoinedColumn( name=”NameDesFremdschluessels”)
// EntityManager erzeugen (Name der Persistence Unit: uni)
entityManagerFactory= Persistance.createEntityManagerFactory("uni"); entityManager = entityManagerFactory.createEntityManager()
// Studiengang mit ID 5 aus Datenbank laden
entityManager.getTransaction().begin();
Studiengang studiengang = entityManager.find(Studiengang.class,5);
entityManager.getTransaction().commit();
System.out.println(studiengang.toString());
// alle Studenten, die den Studiengang "IBAIT" studieren, // aus Datenbank laden
TypedQuery tp = entityManager.createQuery(“SELECT s FROM Student s WHERE s.studiengang.name = ‘IBAIT’ “ , Student.class);
List ibaitStudenten =
List ibaitStudenten = tp.getResultList();
for (Student s : ibaitStudenten){
System.out.println(s);
}
// neue Studentin speichern // Vorname: Petra, Nachname: Schmidt, // Matrikelnr.: 1234, Studiengang-ID: 5
entityManager.getTransaction().begin();
Student neueStudentin = new Student(); neueStudentin.vorname = "Petra"; neueStudentin.nachname = "Schmidt"; neueStudentin.matrikelnr = 1234; neueStudentin.studiengang.setId(5); entityManager.persist(neueStudentin);
entityManager.getTransaction().commit();
} finally { // Ressourcen schließen
if (entityManager ! = null) { entityManager.close(); } if (entityManagerFactory ! = null) { entityManagerFactory.close();}
@ n:m
@ManyToMany
@JoinTable(
name= “HilfsDatenbankname”,
joinColumns = {@JoinColumn (name = “FremdschlusselEigenerDatenbank”)},
inverseJoinColumns = {@JoinColumn (name = “FremdschlusselAndereDB”)}
)
private Set <
andererTablename > neuertext;
@ 1:1
@OneToOne
@JoinColumn (name=”andererFS”)
Speichern (neu erzeugtes Object )
em.persist(kunde);