Datenbankzugriff mit der Java Persistence Api
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Datenbankzugriff mit der Java Persistence Api

on

  • 2,337 views

 

Statistics

Views

Total Views
2,337
Views on SlideShare
1,630
Embed Views
707

Actions

Likes
0
Downloads
5
Comments
0

12 Embeds 707

http://software-technik.blogspot.com 357
http://software-technik.blogspot.de 287
http://software-technik.blogspot.co.at 24
http://software-technik.blogspot.ch 17
http://software-technik.blogspot.ru 11
http://www.software-technik.blogspot.com 4
http://webcache.googleusercontent.com 2
http://software-technik.blogspot.com.es 1
http://software-technik.blogspot.co.uk 1
http://software-technik.blogspot.cz 1
http://software-technik.blogspot.hu 1
http://software-technik.blogspot.kr 1
More...

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Datenbankzugriff mit der Java Persistence Api Presentation Transcript

  • 1. Software Technik HTWG Konstanz Datenbankzugriff mit der Java Persistence API Christian Baranowski
  • 2. Requirement Analysis Wasserfallmodell System Design Coding Testing Delivery
  • 3. Wiederholung AJAX
  • 4. Asynchronous JavaScript and XML Heute meist JSON
  • 5. Übungen I•Fragen Sie alle Aufgaben vom Server ab via AJAX und zeigen Sie diese in ihrer HTML Anwendung an.
  • 6. EinschubWas sind Java Annotation?Als Annotation wird im Zusammenhang mit derProgrammiersprache Java ein Sprachelementbezeichnet, das die Einbindung von Metadaten inden Quelltext erlaubt. - Wikipedia
  • 7. Einführung in dieJava Persistence API Data Disk
  • 8. Was ist JPA?•Ein Standard um Objekt-Relationalen Abbildung von Objekten in Datenbanken zu ermöglichen.•Für die Abbildung der Objekte auf die Tabellen (Datenbank) werden Java Annotationen genutzt•JPA ist spezifiziert durch JSR - 220•JPA ist Teil der EJB 3.X Spezifikation•JPA kann in Java SE und Java EE genutzt werden!
  • 9. Objekte sind POJOs in JPA•Was sind POJO? •POJO steht für Plain Old Java Object •Unter POJO versteht man ein gewöhnliches Java Objekt in Abgrenzung zu einem Enterprise JavaBean.•Beispiel: Seller Klasse
  • 10. Warum sollte eine Entity dieBasic Mappings Schnittstelle Serializable implementieren? @Table(name = "Adr") @Entity public class Address implements Serializable { @Id @Column(name = "ADDRESS_ID") @GeneratedValue(strategy = GenerationType.SEQUENCE) private long id; @Basic private String city; @Basic private String country; @Basic private String province; @Basic @Column(name = "P_CODE") private String postalCode; @Basic private String street;
  • 11. Assoziationen / Relationen @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY) @JoinColumn(name = "ADDR_ID") private Address address; @ManyToOne(fetch = FetchType.LAZY) private JobTitle jobTitle; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "MANAGER_ID") private Employee manager; @OneToMany(mappedBy = "manager") private List<Employee> managedEmployees = new ArrayList<Employee>();
  • 12. Assoziationen / Relationen @OneToMany(mappedBy = "owner", cascade = CascadeType.ALL, orphanRemoval = true) private List<PhoneNumber> phoneNumbers = new ArrayList<PhoneNumber>(); @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) @JoinColumn(name="EMP_ID") private List<Degree> degrees = new ArrayList<Degree>(); @ManyToMany @JoinTable(name = "PROJ_EMP", joinColumns = @JoinColumn(name = "EMP_ID"), inverseJoinColumns = @JoinColumn(name = "PROJ_ID")) private List<Project> projects = new ArrayList<Project>();
  • 13. Cascade Type•ALL - Cascade all operations•MERGE - Cascade merge operation•PERSIST - Cascade persist operation•REFRESH - Cascade refresh operation•REMOVE - Cascade remove operation
  • 14. Fetch Type•EAGER - Defines that data must be eagerlyfetched.•LAZY - Defines that data can be lazily fetched.
  • 15. Entity •Entity hat immer einen eindeutigen Schlüssel (ID) dieser identifiziert die Entität •Equals auf Basis der ID...
  • 16. Entity Manager•API bietet alle Funktion für den Datenbankzugriff: •persist •remove •createQuery •merge •findXXX •....
  • 17. Entity Manager•Wenn die Objekte (Entity Klassen) auch als Daten Transfer Objekte genutzt werden sollen können sie vom Entity Manager gelöst werden man spricht von detached Entities!
  • 18. Detached Entities•Managed Entities werden vom Entity Manager gelöst wenn: •clear oder detach •mittels rollback •Entity Manager closed
  • 19. Übungen II•Erweitern Sie Ihre Aufgaben Verwaltung um eine Datenbank Anbindung mittels JPA •Schritt 1. Domain Modell markieren mit den JPA Annotationen für das OR Mapping... •Schritt II. Repository Funktionen zum speichern und laden einer Aufgabe umsetzen...
  • 20. Software Technik HTWG Konstanz Testing 17.12.2010 um 14:00 Uhr Christian Baranowski